使用方法:
1.將UltraISO.exe+iso.bat+adsl.txt+創(chuàng)建虛擬機(jī)改IP.PS1 拷貝到服務(wù)器C盤(pán)根目錄
2.在服務(wù)器中安裝UltraISO.exe ,安裝目錄使用默認(rèn)路徑,不要修改!
3.使用PowerShell打開(kāi)腳本文件,修改模板文件路徑、存放虛擬機(jī)的路徑、網(wǎng)卡名稱/速率、IP信息(只允許 寫(xiě)IP,不要加其他信息)、機(jī)器配置/數(shù)量等信息
4.開(kāi)始執(zhí)行腳本,批量創(chuàng)建虛擬機(jī)并自動(dòng)修改IP地址
5.使用PassPort軟件,結(jié)合EXCEL批量 導(dǎo)入映射信息
6.測(cè)遠(yuǎn)程連接,虛擬機(jī)創(chuàng)建完成
1.保證機(jī)器有網(wǎng)
2.安裝環(huán)境
pip install PyExecJs 注意:Successfully installed PyExecJs-1.5.1 six-1.12.0
yum install -y wget
wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz && mkdir -p /usr/local/lib/nodejs
tar -xJvf node-v10.15.3-linux-x64.tar.xz -C /usr/local/lib/nodejs/
ln -s /usr/local/lib/nodejs/node-v10.15.3-linux-x64/bin/npm /usr/local/bin/
ln -s /usr/local/lib/nodejs/node-v10.15.3-linux-x64/bin/node /usr/local/bin/
node -v
3.刪除網(wǎng)卡和撥號(hào)信息
#vi /etc/ppp/chap-secrets #腳本第一行是回車不需要用這個(gè)
vi /etc/sysconfig/network-scripts/ifcfg-eth1
4.上傳gaiip.sh 到/
chmod +x gaiip.sh
history -c
init 0
CentOS母盤(pán)制作流程:
1.修改系統(tǒng)網(wǎng)卡配置文件,將內(nèi)網(wǎng)網(wǎng)卡配置文件中的"IPADDR=192.168.2.2"該行刪除掉
2.將gaiip.sh 上傳到系統(tǒng)/目錄
3.添加gaiip.sh執(zhí)行權(quán)限
chmod +x /gaiip.sh
4.編輯開(kāi)機(jī)啟動(dòng)項(xiàng)
vi /etc/rc.d/rc.local
添加一行腳本路徑
/gaiip.sh
添加開(kāi)機(jī)啟動(dòng)項(xiàng)的執(zhí)行權(quán)限
chmod +x /etc/rc.d/rc.local
5.提前安裝好dos2unix
yum install -y dos2unix
6.將虛擬機(jī)關(guān)機(jī),該虛擬機(jī)的磁盤(pán)文件即為可用來(lái)制作自動(dòng)創(chuàng)建虛擬機(jī)的系統(tǒng)母盤(pán)
自動(dòng)改IP腳本gaiip.sh說(shuō)明:
掛載光盤(pán)
mount /dev/cdrom /mnt
拷貝IP信息到/根目錄
cp /mnt/ip.txt /ip.txt
修改字符集信息
sed -i 's/^\xEF\xBB\xBF//g' /ip.txtg
dos2unix /ip.txt
寫(xiě)入IP信息
cat /ip.txt >>/etc/sysconfig/network-scripts/ifcfg-eth1
重啟網(wǎng)絡(luò)服務(wù)
service network restart
彈出ISO文件
eject /dev/cdrom
gaiip.sh
#!/bin/bash
mount /dev/cdrom /mnt
cp /mnt/ip.txt /ip.txt
cp /mnt/autoad.sh /autoad.sh
sed -i 's/^\xEF\xBB\xBF//g' /ip.txt
sed -i 's/^\xEF\xBB\xBF//g' /autoad.sh
dos2unix /ip.txt
dos2unix /autoad.sh
cat /ip.txt >>/etc/sysconfig/network-scripts/ifcfg-eth1
chmod 777 /autoad.sh
sh /autoad.sh
service network restart
rm -rf /ip.txt
rm -rf /autoad.sh
eject /dev/cdrom
rm -rf /gaiip.sh
init 6
批量創(chuàng)建虛擬機(jī)自動(dòng)改IP和主機(jī)名(差異磁盤(pán))
#---------------------------批量創(chuàng)建虛擬機(jī)腳本---------------------
#母盤(pán)位置:注意不要放C盤(pán)??!
$MasterDiskPath="d:\synew.vhdx"
#虛擬機(jī)存放位置
$VHDPath="d:\synewvhd\"
#虛擬機(jī)IP初始信息
$IP="192.168.81."
#虛擬機(jī)IP開(kāi)始值
$IP_START=2
#創(chuàng)建虛擬機(jī)的數(shù)量
$IP_ZENJIA=2
#虛擬機(jī)網(wǎng)卡名稱
$NetworkName1="pppoe"
$NetworkName2="nat"
#撥號(hào)DNS+密碼
$DNS1="223.5.5.5"
$DNS2="114.114.114.114"
#虛擬機(jī)cpu核數(shù)
$LogicPrecesserCount=2
#虛擬機(jī)內(nèi)存
$MomeryCount=2GB
#----------------------------下面部分不用修改------------------------
$IP_END=$IP_START+$IP_ZENJIA - 1
for($i=$IP_START;$i -le$IP_END;$i++) {
$VMDIR = $VHDPath + $IP +$I
#創(chuàng)建虛擬機(jī)磁盤(pán)存放的文件夾
mkdir $VMDIR
#虛擬機(jī)名稱
$VMName = $IP + $i + ".vhdx"
#虛擬機(jī)文件所在的完整路徑
$VMCFDIR = $VMDIR + "\" + $VMName
#創(chuàng)建差異磁盤(pán)到虛擬機(jī)指定的目錄下
#Copy-Item $MasterDiskPath $VMCFDIR
New-VHD -ParentPath $MasterDiskPath -Path $VMCFDIR -Differencing
#讀取該虛擬機(jī)指定的撥號(hào)信息
$PPPOE=(Get-Content C:\adsl.txt -TotalCount $I)[-1]
$PPPOEWD=(Get-Content C:\mm.txt -TotalCount $I)[-1]
#$vlan=(Get-Content C:\vlan.txt -TotalCount $I)[-1]
$vmhost=(Get-Content C:\vmhost.txt -TotalCount $I)[-1]
#創(chuàng)建一個(gè)虛擬機(jī)
$HYName = "wangdun-"+$vmhost + "/" + $IP + $i + "/" + $PPPOE + "/" + $PPPOEWD
New-VM -Name $HYName -path $VMDIR -MemoryStartupBytes $MomeryCount -VHDPath $VMCFDIR -SwitchName $NetworkName1
#到虛擬機(jī)磁盤(pán)目錄
cd $VMDIR
#新建內(nèi)網(wǎng)網(wǎng)卡信息
New-Item "ip.txt" -type File
#寫(xiě)入內(nèi)網(wǎng)網(wǎng)卡信息到文件
"IPADDR=$IP$I" |Out-File ip.txt -encoding utf8
#新建自動(dòng)撥號(hào)腳本
New-Item "autoad.sh" -type File
#編輯自動(dòng)撥號(hào)腳本
"pppoe-setup <<EOF" |Add-Content autoad.sh -encoding utf8
" " |Add-Content autoad.sh -encoding utf8
"$PPPOE" |Add-Content autoad.sh -encoding utf8
"eth0" |Add-Content autoad.sh -encoding utf8
"no" |Add-Content autoad.sh -encoding utf8
"$DNS1" |Add-Content autoad.sh -encoding utf8
"$DNS2" |Add-Content autoad.sh -encoding utf8
"$PPPOEWD" |Add-Content autoad.sh -encoding utf8
"$PPPOEWD" |Add-Content autoad.sh -encoding utf8
"yes" |Add-Content autoad.sh -encoding utf8
"0" |Add-Content autoad.sh -encoding utf8
"yes" |Add-Content autoad.sh -encoding utf8
"y" |Add-Content autoad.sh -encoding utf8
"EOF" |Add-Content autoad.sh -encoding utf8
"sed -i 's/localhost.localdomain/wangdun-$vmhost/g' /etc/hostname" |Add-Content autoad.sh -encoding utf8
#拷貝生成iso的腳本到虛擬機(jī)目錄
Copy-Item c:/iso.bat $VMDIR
#設(shè)置UltraISO環(huán)境變量
$Env:path=$Env:Path+";C:\Program Files (x86)\UltraISO"
#執(zhí)行生成iso腳本
cmd /c iso.bat
#虛擬機(jī)掛載iso文件
set-VMDvdDrive -VMName $HYName -path $VMDIR\ip.iso
#增加一個(gè)網(wǎng)卡適配器并掛載網(wǎng)卡
Add-VMNetworkAdapter $HYName -Name network2
Connect-VMNetworkAdapter $HYName -Name network2 $NetworkName2
#修改撥號(hào)網(wǎng)卡的vlan
#Set-VMNetworkAdaptervlan -VMName $HYName -VMNetworkAdapterName 網(wǎng)絡(luò)適配器 -Access -VlanID $vlan
#設(shè)置虛擬機(jī)內(nèi)核數(shù)量
Set-VMProcessor $HYName -Count $LogicPrecesserCount
#設(shè)置動(dòng)態(tài)內(nèi)存
#Set-VMMemory $HYName -StartupBytes 2048MB
#Set-VMMemory $HYName -DynamicMemoryEnabled $true -MaximumBytes 2048MB -MinimumBytes 800MB
#設(shè)置所有網(wǎng)卡的速率為20mb
#Set-VMNetworkAdapter –VMName $HYName -MaximumBandwidth 20000000
#刪除網(wǎng)卡
#Remove-VMNetworkAdapter -VMName $HYName -VMNetworkAdapterName network2
#開(kāi)啟路由器保護(hù)功能
Set-VMNetworkAdapter $HYName -RouterGuard On
#啟動(dòng)虛擬朿
Start-VM -Name $HYName
}
hyper-v批量創(chuàng)建虛擬機(jī)不改IP
#虛擬機(jī)存放路徑
$VHDPath="d:\suanya\"
#虛擬機(jī)命名規(guī)范
$IP="suanya-192.168.109."
#虛擬機(jī)網(wǎng)卡名稱
$NetworkName1="hg_vpn"
$NetworkName2="nat"
#虛擬機(jī)cpu核數(shù)
$LogicPrecesserCount=2
#虛擬機(jī)內(nèi)存
$MomeryCount=2GB
#模板位置
$MasterDiskPath="C:\192.168.109.2.vhdx"
#建立虛擬機(jī)數(shù)量,第一個(gè)數(shù)字是開(kāi)始IP,第二個(gè)是數(shù)字是結(jié)束IP
for($i=2;$i -le35;$i++) {
$VMDIR = $VHDPath + $IP +$I
#創(chuàng)建VM文件夾
mkdir $VMDIR
#虛擬機(jī)名稱
$VMName = $IP + $i + ".vhdx"
#虛擬機(jī)文件完整路徑
$VMCFDIR = $VMDIR + "\" + $VMName
#拷貝母盤(pán)到虛擬機(jī)存放的目錄下
Copy-Item $MasterDiskPath $VMCFDIR
#創(chuàng)建一個(gè)虛擬機(jī)
$HYName = $IP + $i
New-VM -Name $HYName -path $VMDIR -MemoryStartupBytes $MomeryCount -VHDPath $VMCFDIR -SwitchName $NetworkName1
#增加一個(gè)網(wǎng)卡適配器并掛載網(wǎng)卡
Add-VMNetworkAdapter $HYName -Name network2
Connect-VMNetworkAdapter $HYName -Name network2 $NetworkName2
#設(shè)置虛擬機(jī)內(nèi)核數(shù)量
Set-VMProcessor $HYName -Count $LogicPrecesserCount
#設(shè)置所有網(wǎng)卡的速率為10mb
Set-VMNetworkAdapter –VMName $HYName -MaximumBandwidth 10000000
#刪除網(wǎng)卡
#Remove-VMNetworkAdapter -VMName $HYName -VMNetworkAdapterName network2
#開(kāi)啟路由器保護(hù)功能
Set-VMNetworkAdapter $HYName -RouterGuard On
#啟動(dòng)虛擬朿
#Start-VM -Name $HYName
}
hyper-v中批量開(kāi)啟MAC欺騙
#虛擬機(jī)命名規(guī)范
$IP="192.168.236."
#建立虛擬機(jī)數(shù)量,第一個(gè)數(shù)字是開(kāi)始IP,第二個(gè)是數(shù)字是結(jié)束IP
for($i=2;$i -le51;$i++) {
#讀取該虛擬機(jī)指定的撥號(hào)信息
$PPPOE=(Get-Content C:\adsl.txt -TotalCount $I)[-1]
$HYName = $IP + $i + "/" + $PPPOE
#啟用MAC欺騙
Set-VMNetworkAdapter -VMName $HYName -MAC On
}
hyper-v中批量設(shè)置網(wǎng)卡速率
$IP="192.168.2."
#虛擬機(jī)網(wǎng)卡名稱
for($i=70;$i -le70;$i++) {
$HYName = $IP + $i
#設(shè)置所有網(wǎng)卡的速率為10mb
Set-VMNetworkAdapter –VMName $HYName -MaximumBandwidth 10000000
}
hyper-v中批量修改網(wǎng)卡掛載
$IP="wl-ez-192.168.6."
#虛擬機(jī)網(wǎng)卡名稱
$NetworkName2="beiyong1"
for($i=102;$i -le102;$i++) {
$HYName = $IP + $i
Connect-VMNetworkAdapter $HYName -Name 網(wǎng)絡(luò)適配器 $NetworkName2
}
hyper-v中批量修改網(wǎng)卡信息
#虛擬機(jī)命名規(guī)范
$IP="192.168.126."
#虛擬機(jī)網(wǎng)卡名稱
$wangka="tzpppoe2"
#建立虛擬機(jī)數(shù)量,第一個(gè)數(shù)字是開(kāi)始IP,第二個(gè)是數(shù)字是結(jié)束IP
for($i=2;$i -le2;$i++) {
#讀取該虛擬機(jī)指定的撥號(hào)信息
$PPPOE=(Get-Content C:\adsl.txt -TotalCount $I)[-1]
$HYName = $IP + $i + "/" + $PPPOE
Connect-VMNetworkAdapter $HYName -Name 網(wǎng)絡(luò)適配器 $wangka
}
hyper-v中批量增加網(wǎng)卡并掛載
$IP="192.168.2."
#虛擬機(jī)網(wǎng)卡名稱
$NetworkName2="jzpppoe"
for($i=123;$i -le141;$i++) {
$HYName = $IP + $i
#增加一個(gè)網(wǎng)卡適配器并掛載網(wǎng)卡
Add-VMNetworkAdapter $HYName -Name network2
Connect-VMNetworkAdapter $HYName -Name network2 $NetworkName2
}