注:以下内容部分取自微软官网:
现在你已基本了解如何部署 Hyper-V、创建虚拟机和管理这些虚拟机,让我们研究一下如何使用 PowerShell 来自动执行其中大部分活动。
返回 Hyper-V 命令列表
单击 Windows“开始”按钮,键入“PowerShell”。
-
运行以下命令以显示适用于 Hyper-V PowerShell 模块的 PowerShell 命令的可搜索列表。
PowerShell
Get-Command -Module hyper-v | Out-GridView
获取的内容如下所示:
-
若要了解有关特定 PowerShell 命令的详细信息,请使用
Get-Help
。 例如,运行以下命令将返回有关Get-VM
Hyper-V 命令的信息。PowerShell
Get-Help Get-VM
该输出向你显示构建命令的方法、必需和可选参数定义以及可以使用的别名。
返回虚拟机列表
使用 Get-VM
命令会返回虚拟机列表。
-
在 PowerShell 中,运行以下命令:
PowerShell
Get-VM
显示内容如下所示:
-
若要仅返回已启动的虚拟机列表,请将筛选器添加到
Get-VM
命令。 可通过使用Where-Object
命令添加筛选器。 有关筛选的详细信息,请参阅使用 Where-Object 文档。PowerShell
Get-VM | where {$_.State -eq 'Running'}
-
若要列出所有处于关机状态的虚拟机,请运行以下命令。 此命令是步骤 2 中的命令的副本,但筛选器从“正在运行”更改为“关闭”。
PowerShell
Get-VM | where {$_.State -eq 'Off'}
启动和关闭虚拟机
-
若要启动特定虚拟机,请运行附带虚拟机名称的以下命令:
PowerShell
Start-VM -Name <virtual machine name>
-
若要启动所有当前已关机的虚拟机,请获取这些虚拟机的列表并将该列表通过管道传递到
Start-VM
命令:PowerShell
Get-VM | where {$_.State -eq 'Off'} | Start-VM
-
若要关闭所有正在运行的虚拟机,请运行以下命令:
PowerShell
Get-VM | where {$_.State -eq 'Running'} | Stop-VM
创建 VM 检查点
若要使用 PowerShell 创建检查点,请使用 Get-VM
命令选择虚拟机,然后通过管道将该虚拟机传递到 Checkpoint-VM
命令。 最后,使用 -SnapshotName
为该检查点命名。 完整命令如下所示:
PowerShell
Get-VM -Name <VM Name> | Checkpoint-VM -SnapshotName <name for snapshot>
创建新的虚拟机
以下示例演示如何在 PowerShell 集成脚本环境 (ISE) 中创建新的虚拟机。 这是一个简单示例,并可扩展为包含其他 PowerShell 功能以及更高级的 VM 部署。
若要打开 PowerShell ISE,请单击“开始”,键入 PowerShell ISE。
-
运行以下代码来创建虚拟机。 有关
New-VM
命令的详细信息,请参阅 New-VM 文档。PowerShell
$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[0]}New-VM @VM
总结和参考
本文档介绍了一些研究 Hyper-V PowerShell 模块的简单步骤以及一些示例方案。 有关 Hyper-V PowerShell 模块的详细信息,请参阅Hyper-V 2016 系列教程15 Hyper-V Cmdlets PowerShell 命令提示符http://hangyc.blog.51cto.com/427521/1965057
本文出自 “成杭 的技术博客” 博客,请务必保留此出处http://hangyc.blog.51cto.com/427521/1965724