使用Hyper-V和Windows PowerShell
使用Hyper-V和Windows PowerShell
现在,您已经了解了部署Hyper-V,创建虚拟机和管理这些虚拟机的基础知识,下面让我们探索如何使用PowerShell自动执行其中的许多活动。
返回Hyper-V命令列表
- 单击Windows开始按钮,键入PowerShell。
- 运行以下命令以显示Hyper-V PowerShell模块可用的PowerShell命令的可搜索列表。
Get-Command -Module hyper-v | Out-GridView
您得到的是这样的:
- 要了解有关特定PowerShell命令的更多信息,请使用Get-Help。例如,运行以下命令将返回有关Get-VMHyper-V命令的信息。
Get-Help Get-VM
输出显示了如何构造命令,必需和可选参数是什么以及可以使用的别名。
返回虚拟机列表
使用Get-VM命令返回虚拟机列表。
- 在PowerShell中,运行以下命令:
Get-VM
显示如下:
- 要返回仅打开电源的虚拟机的列表,请在Get-VM命令中添加一个过滤器。可以使用Where-Object命令添加过滤器。有关过滤的更多信息,请参见使用Where-Object文档。
Get-VM | where {$_.State -eq 'Running'}
- 要列出所有处于关闭状态的虚拟机,请运行以下命令。该命令是步骤2中命令的副本,过滤器从“正在运行”更改为“关闭”。
Get-VM | where {$_.State -eq 'Off'}
启动和关闭虚拟机
- 要启动特定的虚拟机,请使用虚拟机名称运行以下命令:
Start-VM -Name <virtual machine name>
- 要启动所有当前已关闭电源的虚拟机,请获取这些计算机的列表并将其通过管道传递给以下Start-VM命令:
Get-VM | where {$_.State -eq 'Off'} | Start-VM
- 要关闭所有正在运行的虚拟机,请运行以下命令:
Get-VM | where {$_.State -eq 'Running'} | Stop-VM
创建一个虚拟机检查点
要使用PowerShell创建检查点,请使用Get-VM命令选择虚拟机并将其通过管道传递给Checkpoint-VM命令。最后使用来为检查点命名-SnapshotName。完整的命令如下所示:
Get-VM -Name <VM Name> | Checkpoint-VM -SnapshotName <name for snapshot>
创建一个新的虚拟机
以下示例显示了如何在PowerShell集成脚本环境(ISE)中创建新的虚拟机。这是一个简单的示例,可以扩展为包括其他PowerShell功能和更高级的VM部署。
- 要打开PowerShell ISE,请单击开始,键入PowerShell ISE。
- 运行以下代码以创建虚拟机。有关该命令的详细信息,请参阅New-VM文档New-VM。
$VMName = "VMNAME"
$VM = @{
Name = $VMName
MemoryStartupBytes = 2147483648
Generation = 2
NewVHDPath = "C:\Virtual Machines\$VMName\$VMName.vhdx"
NewVHDSizeBytes = 53687091200
BootDevice = "VHD"
Path = "C:\Virtual Machines\$VMName"
SwitchName = (Get-VMSwitch).Name
}
New-VM @VM
总结和参考
本文档显示了一些简单的步骤来探索Hyper-V PowerShell模块以及一些示例方案。有关Hyper-V PowerShell模块的更多信息,请参见Windows PowerShell参考中的Hyper-V Cmdlet。