本人是工作中需要在一台win2012(hyper-v3.0)单宿主建立30台虚拟机,在网上找了的blog,进行了改造,实现vhdx硬盘文件创建了独立的虚拟机,而不是像那位仁兄的差异磁盘建立虚拟机,并可以以ip地址为虚拟机文件。

#hyper-V宿主虚拟机根路径$HyperVRootPath="E:\HyperV\"#hyper-v虚拟机相同名称$NodeName="10.1.1."#建立虚拟机数量$FlagVM=11#虚拟机网卡名称$NetworkName="VM_LOCAL_14"#虚拟机cpu核数$LogicPrecesserCount=4#虚拟机内存$MomeryCount=4GB#模板位置$MasterDiskPath="D:\Template\DXT-VHCS1-Win2003.vhdx"$NodeNameFullName=""$VMName=""$IPID=100for($i=9;$i -le $FlagVM;$i++){$IPend = $IPID + $i$FolderPath = $HyperVRootPath + $NodeName + $IPend#Create VM Sub-Foldermkdir $FolderPath#Create VM Disk$NodeNameFullName = $NodeName + $IPend + ".vhdx"$VMNodePath = $FolderPath + "\" + $NodeNameFullNameWrite-Host $VMNodePath#New-VHD -ParentPath $MasterDiskPath -Path $VMNodePath -DifferencingCopy-Item $MasterDiskPath $VMNodePath#Configure VM$VMName = $NodeName + $IPendNew-VM -Name $VMName -path $FolderPath -MemoryStartupBytes $MomeryCount -VHDPath $VMNodePath -SwitchName $NetworkNameSet-VMProcessor $VMName -Count $LogicPrecesserCountSet-VMNetworkAdapter $VMName -RouterGuard On#Start VM#Start-VM -Name $VMName}

以上代码运行完后,建立3台名为10.1.1.109、10.1.1.110、10.1.1.111的虚拟机