PowerShell是批量创建Hyper-V虚拟机最高效方式,需启用Hyper-V角色、开启CPU虚拟化、以管理员身份运行;脚本支持参数化配置、差异磁盘复用及自动启用集成服务等收尾操作。
powershell 是批量创建 hyper-v 虚拟机最高效、可复用的方式,尤其适合开发测试环境搭建、ci/cd 集成或标准化交付场景。关键不在于逐条敲命令,而在于把配置参数化、流程脚本化,并规避常见坑点。
前提条件必须确认
脚本运行前,以下三项缺一不可:
- 系统已启用 Hyper-V 角色(家庭版需额外执行
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart并重启) - CPU 虚拟化已开启(BIOS 中启用 Intel VT-x 或 AMD-V)
- 以管理员身份运行 PowerShell(右键 → “以管理员身份运行”)
核心命令与最小可行脚本
一条 New-VM 命令就能创建基础虚拟机,但批量部署需要结构化组织。下面是最简可用模板:
$vmNames = "WebServer01", "WebServer02", "DBServer01"
$switchName = (Get-VMSwitch | Where-Object {$_.SwitchType -eq "External"} | Select-Object -First 1).Name
$vmPath = "D:\VMs"
foreach ($name in $vmNames) {
$vhdPath = Join-Path $vmPath "$name\Virtual Hard Disks\$name.vhdx"
New-VM -Name $name -MemoryStartupBytes 4GB -Generation 2 -NewVHDPath $vhdPath -NewVHDSizeBytes 120GB -Path $vmPath -SwitchName $switchName
Set-VMProcessor -VMName $name -Count 2
Set-VMDvdDrive -VMName $name -Path "E:\ISO\Win11_23H2.iso"
}
说明:该脚本自动选取第一个外部交换机,为每个 VM 分配 4GB 内存、2 核 CPU 和 120GB 动态 VHDX 硬盘,并挂载 ISO 作为安装源。
进阶:支持模板复用与差异化配置
若需快速克隆已装好系统的虚拟机(如统一基线的 Windows Server),推荐用“模板 VHDX + 差异磁盘”方式:
- 准备一个通用系统盘(如
template_win11.vhdx),关机后设为只读 - 用
New-VHD -ParentPath template_win11.vhdx -Path $childVhdPath -Differencing创建差异盘 - 再通过
New-VM -VHDPath $childVhdPath直接挂载启动,避免重复安装 - 配合
Set-VMFirmware -VMName xxx -EnableSecureBoot Off关闭安全启动(适配旧镜像)
批量部署后的必要收尾动作
仅创建虚拟机还不够,实际使用还需补充几项自动化操作:
- 自动启用集成服务:
Enable-VMIntegrationService -VMName $name -Name "Guest Service Interface" - 设置开机自启:
Set-VM -VMName $name -AutomaticStartAction StartIfRunning -AutomaticStopAction ShutDown - 添加注释便于识别:
Set-VM -VMName $name -Notes "Created on $(Get-Date -Format 'yyyy-MM-dd') by AutoDeploy" - 启动并检查状态:
Start-VM -Name $name; Get-VM -Name $name | Select-Object Name, State, Uptime
不复杂但容易忽略

















