直接用PowerShell管理Hyper-V虚拟机更高效,前提是已启用Hyper-V功能并以管理员身份运行;支持快速创建、配置、启停、检查点、集成服务及VM内命令执行等全生命周期自动化操作。
直接用 powershell 管理 hyper-v 虚拟机,比图形界面更高效、更适合批量操作和自动化。核心前提是 hyper-v 已启用,之后所有操作都可通过管理员权限的 powershell 完成。
确保 Hyper-V 功能已启用
这是所有后续操作的前提。未启用时,PowerShell 会提示命令不存在或模块未加载。
- 以管理员身份打开 PowerShell,运行:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All - 系统提示重启时输入 Y 并回车
- 重启后,可运行 Get-VMHost 验证是否成功加载 Hyper-V 模块(返回主机信息即表示就绪)
快速创建并配置一台虚拟机
一条命令创建基础 VM,再补上网络、CPU、启动介质等关键配置,整个过程无需打开 GUI。
- 新建 VM(Generation 2,2GB 内存,20GB 动态 VHDX):
New-VM -Name "Win11-Dev" -MemoryStartupBytes 2GB -Generation 2 -NewVHDPath "D:\VMs\Win11-Dev\Win11-Dev.vhdx" -NewVHDSizeBytes 20GB -Path "D:\VMs\Win11-Dev" - 添加网络适配器(绑定到默认交换机):
Add-VMNetworkAdapter -VMName "Win11-Dev" -SwitchName "Default Switch" - 分配 4 个逻辑处理器:
Set-VMProcessor -VMName "Win11-Dev" -Count 4 - 挂载 ISO 安装镜像:
Add-VMDvdDrive -VMName "Win11-Dev" -Path "D:\ISO\Win11_23H2.iso" - 如需从光盘优先启动(安装系统必需):
Set-VMFirmware -VMName "Win11-Dev" -FirstBootDevice $(Get-VMDvdDrive -VMName "Win11-Dev")
日常启停与状态管理
不用点开 Hyper-V 管理器,几秒内就能批量控制多台虚拟机。
- 查看全部虚拟机及状态:
Get-VM - 只看正在运行的:
Get-VM | Where-Object {$_.State -eq 'Running'} - 启动指定 VM:
Start-VM -Name "Win11-Dev" - 批量启动所有关机状态的 VM:
Get-VM | Where-Object {$_.State -eq 'Off'} | Start-VM - 安全关机(模拟正常关机):
Stop-VM -Name "Win11-Dev" -Force(加 -Force 强制关闭,类似断电)
进阶管理:检查点、集成服务与虚拟机内执行
这些能力让 PowerShell 不只是“开关机工具”,而是真正深入到虚拟机生命周期管理。
- 创建检查点(快照):
Checkpoint-VM -Name "Win11-Dev" -SnapshotName "PostInstall-Clean" - 启用来宾文件复制(支持主机 ↔ VM 拖放/复制文件):
Enable-VMIntegrationService -VMName "Win11-Dev" -Name "Guest Service Interface" - 在已开机的 Windows VM 内直接运行命令(无需网络或远程桌面):
Enter-PSSession -VMName "Win11-Dev"(输入凭据后即可执行 ipconfig、Get-Process 等) - 一次性执行命令并退出:
Invoke-Command -VMName "Win11-Dev" -ScriptBlock { Get-Service wuauserv | Start-Service }

















