Hyper-V 的管理主要通过两种方式:

- 图形化界面:Hyper-V 管理器。
- 命令行界面:Windows PowerShell 中的 Hyper-V 模块命令。
由于您问的是“命令”,我们将重点介绍 PowerShell 命令,这是现代 Hyper-V 管理最强大、最灵活的方式。
核心概念:Hyper-V PowerShell 模块
在开始之前,你需要知道所有 Hyper-V 的命令都属于一个名为 Hyper-V 的 PowerShell 模块,你可以通过以下方式加载它:
# 导入 Hyper-V 模块,之后才能使用其下的所有 cmdlet Import-Module Hyper-V
在管理员权限的 PowerShell 窗口中,系统会自动加载这个模块。
常用 Hyper-V PowerShell 命令分类
以下是按功能分类的最常用命令,并附有示例说明。

Hyper-V 角色管理(安装与卸载)
这些命令用于在 Windows 系统上开启或关闭 Hyper-V 功能。
# 检查 Hyper-V 角色是否已安装 Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All # 安装 Hyper-V 角色(需要重启) Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All -NoRestart # 卸载 Hyper-V 角色(需要重启) Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All -NoRestart
虚拟机 管理
这是最核心的部分,用于创建、启动、停止、删除和管理虚拟机。
a. 创建虚拟机
# 1. 创建一个虚拟硬盘(.vhdx) New-VHD -Path "C:\VMs\MyVM\MyVM.vhdx" -SizeBytes 40GB -Dynamic # 2. 创建一个新的虚拟机 New-VM -Name "MyFirstVM" -MemoryStartupBytes 4GB -BootDevice VHD -VHDPath "C:\VMs\MyVM\MyVM.vhdx" -Path "C:\VMs\MyVM" -Generation 2 -SwitchName "ExternalSwitch" # 参数解释: # -Name: VM 的名称 # -MemoryStartupBytes: 初始分配的内存 # -BootDevice: 启动设备,VHD 表示从虚拟硬盘启动 # -VHDPath: 虚拟硬盘文件的路径 # -Path: VM 配置文件存放的目录 # -Generation: VM 的代数(1 或 2,推荐使用 2) # -SwitchName: 使用的虚拟交换机名称
b. 管理 VM 状态
# 启动虚拟机 Start-VM -Name "MyFirstVM" # 正常关闭虚拟机 Stop-VM -Name "MyFirstVM" # 强制关闭虚拟机(相当于直接拔电源) Stop-VM -Name "MyFirstVM" -Force # 暂停虚拟机 Suspend-VM -Name "MyFirstVM" # 恢复已暂停的虚拟机 Resume-VM -Name "MyFirstVM" # 重启虚拟机 Restart-VM -Name "MyFirstVM"
c. 删除虚拟机
# 先关闭虚拟机 Stop-VM -Name "MyFirstVM" -Force # 删除虚拟机(仅删除配置文件,不删除硬盘) Remove-VM -Name "MyFirstVM" -Force # 彻底删除虚拟机及其所有关联文件(包括硬盘) Remove-VM -Name "MyFirstVM" -Force -Complete
d. 其他 VM 操作
# 获取所有虚拟机的列表 Get-VM # 获取特定虚拟机的详细信息 Get-VM -Name "MyFirstVM" # 为虚拟机添加第二个虚拟硬盘 Add-VMHardDiskDrive -VMName "MyFirstVM" -Path "C:\VMs\MyVM\DataDisk.vhdx" # 从虚拟机中移除一个硬盘 Remove-VMHardDiskDrive -VMName "MyFirstVM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1 # 设置虚拟机的内存(动态内存) Set-VM -Name "MyFirstVM" -MemoryStartupBytes 8GB -MemoryMinimumBytes 2GB -MemoryMaximumBytes 16GB # 检查虚拟机的集成服务状态 Get-VMIntegrationService -VMName "MyFirstVM"
虚拟硬盘 管理
# 创建一个新的固定大小 VHD New-VHD -Path "C:\VMs\FixedDisk.vhdx" -SizeBytes 50GB -Fixed # 创建一个新的动态扩展 VHD(默认) New-VHD -Path "C:\VMs\DynamicDisk.vhdx" -SizeBytes 50GB -Dynamic # 将 VHD 附加到虚拟机 Add-VMHardDiskDrive -VMName "MyFirstVM" -Path "C:\VMs\DynamicDisk.vhdx" # 从虚拟机分离 VHD Remove-VMHardDiskDrive -VMName "MyFirstVM" -Path "C:\VMs\DynamicDisk.vhdx" # 将物理磁盘转换为 VHD Convert-DiskToVHD -Path "C:\VMs\PhysicalDisk.vhdx" -SourceDiskNumber 2 # 2 是磁盘号
虚拟交换机 管理
虚拟交换机是虚拟机与外部网络通信的桥梁。
# 获取所有虚拟交换机 Get-VMSwitch # 创建一个新的虚拟交换机(外部模式,连接到物理网卡) New-VMSwitch -Name "MyNewSwitch" -NetAdapterName "Ethernet" -SwitchType External # 删除一个虚拟交换机 Remove-VMSwitch -Name "MyNewSwitch" -Force
快照 管理
快照是虚拟机在某个时间点的“状态副本”,非常适合用于备份和测试。
# 为正在运行的虚拟机创建快照 Checkpoint-VM -Name "MyFirstVM" -SnapshotName "Pre-Update" # 获取虚拟机的所有快照 Get-VMSnapshot -VMName "MyFirstVM" # 应用一个快照(将虚拟机恢复到快照状态) Restore-VMSnapshot -Name "Pre-Update" -VMName "MyFirstVM" # 删除一个快照 Remove-VMSnapshot -Name "Pre-Update" -VMName "MyFirstVM"
导入与导出
用于在不同主机之间迁移虚拟机。
# 导出虚拟机(将其所有文件打包到一个目录) Export-VM -Name "MyFirstVM" -Path "C:\VMExports" # 从指定目录导入虚拟机 Import-VM -Path "C:\VMExports\MyFirstVM\"
如何使用这些命令?
-
以管理员身份运行 PowerShell:
- 在开始菜单搜索 "PowerShell"。
- 右键点击 "Windows PowerShell",选择“以管理员身份运行”。
-
执行命令:
- 直接输入命令,按回车执行。
- 可以使用
Get-Help <Command-Name>获取某个命令的详细帮助和语法。# 查看 New-VM 命令的帮助 Get-Help New-VM -Full
图形化管理器
虽然命令行很强大,但对于初学者或进行一些简单操作时,图形化界面更直观。
- 如何打开:在开始菜单搜索 "Hyper-V 管理器" 并打开。
- 功能:
- 连接到本地或远程 Hyper-V 服务器。
- 通过向导轻松创建虚拟机和虚拟硬盘。
- 通过拖拽方式管理虚拟机硬件(如 DVD 驱动器、硬盘)。
- 启动、关闭、暂停虚拟机。
- 管理虚拟网络交换机。
- 创建、应用、删除快照。
| 功能类别 | 核心命令 | 描述 |
|---|---|---|
| 角色管理 | Enable-WindowsOptionalFeature / Disable-WindowsOptionalFeature |
安装/卸载 Hyper-V 功能 |
| VM 管理 | New-VM, Start-VM, Stop-VM, Remove-VM, Get-VM |
创建、启动、停止、删除、查看虚拟机 |
| VHD 管理 | New-VHD, Add-VMHardDiskDrive, Remove-VMHardDiskDrive |
创建、附加、分离虚拟硬盘 |
| 网络管理 | Get-VMSwitch, New-VMSwitch |
查看和管理虚拟交换机 |
| 快照管理 | Checkpoint-VM, Get-VMSnapshot, Restore-VMSnapshot |
创建、查看、恢复虚拟机快照 |
| 迁移管理 | Export-VM, Import-VM |
导出和导入虚拟机 |
掌握这些 Hyper-V PowerShell 命令,你就可以像专家一样高效地管理你的虚拟化环境了,建议从 Get-VM 和 Get-VMSwitch 开始,先查看你当前的环境。
