Hyper-V 批量創建虛擬機自動改IP並配置PPPOE撥號

PowerShell 批量創建虛擬機:

#虛擬機存放路徑
$VHDPath="d:\suanya\"
#虛擬機命名規範
$IP="192.168.155."
#虛擬機網卡名稱
$NetworkName1="pppoe"
$NetworkName2="nat"
#虛擬機cpu核數
$LogicPrecesserCount=2
#虛擬機內存
$MomeryCount=2GB
#模板位置
$MasterDiskPath="C:\192.168.155.51.vhdx"
#建立虛擬機數量,第一個數字是開始IP,第二個是數字是結束IP
for($i=2;$i -le26;$i++) {
$VMDIR = $VHDPath + $IP +$I
#創建VM文件夾
mkdir $VMDIR
#虛擬機名稱
$VMName = $IP + $i + ".vhdx"
#虛擬機文件完整路徑
$VMCFDIR = $VMDIR + "\" + $VMName
#拷貝母盤到虛擬機存放的目錄下
Copy-Item $MasterDiskPath $VMCFDIR
#創建一個虛擬機
$HYName = $IP + $i
New-VM -Name $HYName -path $VMDIR -MemoryStartupBytes $MomeryCount -VHDPath $VMCFDIR -SwitchName $NetworkName1
#到虛擬機磁盤目錄
cd $VMDIR
#新建ip網卡信息
New-Item "ip.txt" -type File
#寫入ip網卡信息到文件
"IPADDR=$IP$I" |Out-File ip.txt -encoding utf8
#新建自動撥號腳本
New-Item "autoad.sh" -type File
#編輯自動撥號腳本
"pppoe-setup <<EOF" |Add-Content autoad.sh -encoding utf8
" " |Add-Content autoad.sh -encoding utf8
$PPPOE=(Get-Content C:\adsl.txt -TotalCount 2)[-1]
"$PPPOE" |Add-Content autoad.sh -encoding utf8
"eth0" |Add-Content autoad.sh -encoding utf8
"no" |Add-Content autoad.sh -encoding utf8
"202.103.44.150" |Add-Content autoad.sh -encoding utf8
"8.8.8.8" |Add-Content autoad.sh -encoding utf8
"963852" |Add-Content autoad.sh -encoding utf8
"963852" |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
#拷貝生成iso的腳本到虛擬機目錄
Copy-Item c:/iso.bat $VMDIR
#設置UltraISO環境變量
$Env:path=$Env:Path+";C:\Program Files (x86)\UltraISO"
#執行生成iso腳本
cmd /c iso.bat
#虛擬機掛載iso文件
set-VMDvdDrive -VMName $HYName -path $VMDIR\ip.iso
#增加一個網卡適配器並掛載網卡
Add-VMNetworkAdapter $HYName -Name network2
Connect-VMNetworkAdapter $HYName -Name network2 $NetworkName2
#設置虛擬機內核數量
Set-VMProcessor $HYName -Count $LogicPrecesserCount
#設置所有網卡的速率爲10mb
#Set-VMNetworkAdapter –VMName $HYName -MaximumBandwidth 10000000
#刪除網卡
#Remove-VMNetworkAdapter -VMName $HYName -VMNetworkAdapterName network2
#開啓路由器保護功能
Set-VMNetworkAdapter $HYName -RouterGuard On
#啓動虛擬朿
Start-VM -Name $HYName
}

Hyper-V 批量創建虛擬機自動改IP並配置PPPOE撥號

封裝ISO鏡像包 ISO.bat :

ultraiso -volume iso -file "%cd%\ip.txt" -file "%cd%\autoad.sh" -output "%cd%\ip.iso"

centos自動修改IP和配置PPPOE撥號 autoad.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
service network restart
sh /autoad.sh
rm -rf /ip.txt
rm -rf /autoad.sh
eject /dev/cdrom

創建虛擬機

1.將UltraISO.exe+iso.bat+adsl.txt+創建虛擬機改IP.PS1 拷貝到服務器C盤根目錄
2.在服務器中安裝UltraISO.exe ,安裝目錄使用默認路徑,不要修改!
3.使用PowerShell打開腳本文件,修改模板文件路徑、存放虛擬機的路徑、網卡名稱/速率、IP信息(只允許寫IP,不要加其他信息)、機器配置/數量等信息
4.開始執行腳本,批量創建虛擬機並自動修改IP地址
5.使用PassPort軟件,結合EXCEL批量 導入映射信息
6.測遠程連接,虛擬機創建完成

CentOS母盤製作
1.修改網卡配置文件,將內網網卡配置文件中的"IPADDR=192.168.2.2"該行刪除
2.將gaiip.sh 上傳到系統/目錄
3.添加gaiip.sh執行權限
chmod +x /gaiip.sh
4.編輯開機啓動項
vi /etc/rc.d/rc.local
添加一行腳本路徑
/gaiip.sh
添加開機啓動項的執行權限
chmod +x /etc/rc.d/rc.local
5.將虛擬機關機,該虛擬機磁盤文件即爲可用來製作自動創建虛擬機的系統模板

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章