Hyper-V批量创建虚拟机
function ConvertTo-MacAddress {
param (
[string]$IPv4Address
)
# 按照 "." 分割 IPv4 地址
$parts = $IPv4Address.Split('.')
# 转换每个部分为十六进制,并格式化为两位数
$hexParts = foreach ($part in $parts) {
"{0:x2}" -f [int]$part
}
# 连接每个十六进制部分,并添加一个 0 前缀,使 MAC 地址长度为 12 位
$macAddress = "0000" + ($hexParts -join '')
return $macAddress
}
function MyNewVM {
param (
[object]$vmItem
)
#echo $vmItem;return
New-VHD -Path $vmItem.VhdVMPath -ParentPath $vmItem.VhdParentPath
New-VM -Name $vmItem.GuestName -Generation $vmItem.Generation -Path $vmItem.osDirBase -MemoryStartupBytes $vmItem.MemoryStartupBytes -VHDPath $vmItem.VhdVMPath -SwitchName $vmItem.SwitchName
Rename-VMNetworkAdapter -VMName $vmItem.GuestName -NewName "eth0"
Set-VMNetworkAdapter -VMName $vmItem.GuestName -Name "eth0" -StaticMacAddress $vmItem.StaticMacAddress
Set-VMMemory -VMName $vmItem.GuestName -DynamicMemoryEnabled 1 -MinimumBytes $vmItem.MemoryMinimumBytes -MaximumBytes $vmItem.MemoryMaximumBytes
Set-VMProcessor -VMName $vmItem.GuestName -Count $vmItem.ProcessorCount -Maximum $vmItem.ProcessorMaximum
}
$baseDir = "C:\Hyper-V\os";
$osName = "os-ft-20240526";
$vmItem=@{}
$vmItem.Generation = 1;
$vmItem.osDirBase = Join-Path -Path $baseDir -ChildPath $osName
$vmItem.VhdParentPath = $osDir + ".vhdx"
$vmItem.SwitchName = "wan"
$vmItem.MemoryStartupBytes = 512MB#启动内存
$vmItem.MemoryMinimumBytes = 512MB#最低内存
$vmItem.MemoryMaximumBytes = 1GB#最大内存
$vmItem.ProcessorCount = 1#CPU核心数
$vmItem.ProcessorMaximum = 100#CPU限制
$vmItem.StaticMacAddress = "00155D010203"
for ($i=1; $i -le 30; $i++) {
$vmItem.GuestName = "ft-" + $i
$IPv4Address = "10.86.71." + $i
$vmItem.StaticMacAddress = ConvertTo-MacAddress($IPv4Address);
$vmItem.vmDir = Join-Path -Path $osDirBase -ChildPath $vmItem.GuestName;
$vmItem.VhdVMPath = Join-Path -Path $vmItem.vmDir -ChildPath ($vmItem.GuestName + ".vhdx")
MyNewVM($vmItem)
}
本文来自博客园,作者:项希盛,转载请注明原文链接:https://www.cnblogs.com/xiangxisheng/p/18215294
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步