Hyper-V的PowerShell -为什么?
虽然Hyper-V管理控制台是伟大的,工作很好,但有时,自动化一些任务是重要的。如果您使用Virtual Machine Manager,那么您可以自动执行一些操作,这是非常棒的。但是,如果您只使用Hyper-V Manager控制台,那么您将需要使用Windows PowerShell来自动化几个任务。Hyper-V控制台是有限的,因为它只允许您一次在单个VM上工作,不像PowerShell,您可以使用它与多台机器同时交互。
在某些情况下,除了使用PowerShell,你别无选择,因为微软不会自动在GUI中包含Hyper-V的所有功能。因此,有一些PowerShell cmdlet可以让您的工作更轻松,特别是当您想要部署新的虚拟机时hyper - v.
即使您每周部署一个虚拟机,或者每天可以是10个虚拟机,但很重要的是要知道如何自动化此过程,以便在日常任务中节省时间。
Windows PowerShell可以使用它是不是完全秘密创建和配置Hyper-V虚拟机!
因此,在本文中,我将按照以下步骤使用PowerShell创建和配置一个新的VM,
- 首先,我将描述如何使用New-VM cmdlet创建虚拟机,这是第一步
- 然后,我将使用Set-VM cmdlet配置虚拟机,以配置内存、处理器等等……
- 接下来,我会将磁盘附加到这个新的虚拟机
- 要完成,我会为此VM添加一个网络适配器
对于那些想要学习PowerShell脚本的人,我建议您阅读这篇文章//www.brugalaccesorios.com/blog/beginning-learn-powershell-scripting/由布兰登李写。
创建虚拟机
让我们从创建一个新的虚拟机开始本文。这不是一项复杂的任务,但我们必须从这一步开始。要使用PowerShell创建虚拟机,可以运行New-VM PowerShell cmdlet,如下所示:
新vm - name
-小路
-newvhdpath.
-newvhdsizebytes.
代的
-MemoryStartupBytes
-switchname.
第2代在虚拟机上提供以下新功能:
当VMSwitch连接到物理网卡时,虚拟机将使用该VMSwitch连接到网络;所以我们必须确定使用哪一种。如果您不知道Hyper-V Switch的名称,您可以使用get - vmswitch cmdlet获取信息。
现在,您可以确认虚拟机是否存在于Hyper-V管理控制台中:
已成功创建虚拟机。注意,默认情况下虚拟机没有运行,这很好,因为虚拟机没有完全配置。你也可以确认设置:
配置虚拟机
太棒了!该步骤完成虚拟机的创建。我们需要配置一些设置以满足我们的需要。在本例中,我将使用2个处理器配置VM,并使用动态内存特性。
注意:动态内存允许此虚拟机可用的内存数量在您设置的范围内动态更改。在我的例子中,我将把范围设置在256MB和2048MB之间。
Set-VM - name
-processorcount.
- innamicmemory`.
-MemoryMinimumBytes
-MemoryStartupBytes
-memorymaximumBytes.
打开设置并确认PowerShell应用的新设置:
管理虚拟机存储
您可能需要将现有磁盘附加到此虚拟机。使用Add-VMHardDiskDrive cmdlet,您可以轻松地附加磁盘。下面是语法:
add-vmharddiskdrive -vmname
-小路
再次确认数据磁盘是否已附加:
如果要轻松创建空VHDX磁盘,则可以使用磁盘管理MMC。转到动作窗格,然后单击“创建VHD”:
添加磁盘的名称和位置,选择VHD和VHDX之间的格式,磁盘类型厚稀释:
vhdx格式的虚拟硬盘容量可达64tb,而vhd格式的虚拟硬盘容量仅为2tb。
当然,您可以使用PowerShell创建一个新的VHD。
要创建新的VHD(x),可以使用新的VHD cmdlet如下所示:
New-VHD -Path
-SizeBytes.
-动态的
- 路径:VHDX文件的路径
- sizeBytes:VHDX的大小
- 动态:动态或固定VHDX
管理虚拟机网络
下面是最后一步。完成虚拟机的创建和配置;已经附加了一个数据磁盘,因此我们可能需要创建一个新的网络适配器。需要添加新的网卡,使用如下命令:
add-vmnetworkadapter -vmname
-switchname.
-姓名
- VMName:虚拟机名称
- SwitchName:要连接的虚拟机交换机名称
- 名称:网络适配器的名称
让我们确认虚拟机上是否存在新的网络适配器。在此示例中,应从虚拟机中删除默认网络适配器,除非您要在虚拟机上绑定两个NIC。
感谢所有这些上一步的步骤,您现在可以编写完整脚本以创建虚拟机。有很多可以自定义的参数。不要忘记使用Get-help cmdlet获取有关这些cmdlet的更多信息以满足您的需求。
最后,您的虚拟机可以使用Start-VM cmdlet进行电源:
部署新虚拟机后,创建一个新的虚拟机hyper - v检查点为了恢复到初始配置,以防VM崩溃!要创建检查点,请使用Get-VM cmdlet选择虚拟机,并将其向CheckPoint-VM Cmdlet提供:
Get-VM -Name myVM01 | Checkpoint-VM -SnapshotName ' Initial_Config '
您可以使用get-vmcheckpoint cmdlet轻松查看检查点。
您可能会注意到,自动化配置过程并不是什么大问题。请注意,您还可以自动化Hyper-V主机的配置过程。假设您每周部署许多Hyper-V主机,您可以使用PowerShell轻松地自动化创建。你也可以使用Get-VMHost cmdlet来获取关于Hyper-V主机的信息:
不要忘记将此命令送到格式列表cmdlet。在以Hyper-V和PowerShell开头之前,它还需要更新帮助文件。
Update-Help模块hyper - v
结论
所有这些步骤都可以合并到一个PowerShell脚本中,当您希望部署新的虚拟机时,可以运行该脚本。多亏了这些步骤,您的脚本将完全创建和配置您的虚拟机,而无需人工交互。Windows PowerShell的一个伟大之处在于它允许批量管理虚拟机。因此,您必须使用PowerShell来节省时间,并将枯燥的任务自动化。
对于那些在VMware ESXi工作的人,请注意,您可以使用VMware PowerCli执行相同的步骤。阅读本文以在您的计算机上安装PowerCli://www.brugalaccesorios.com/blog/vmware-powercli-10-0-release-and-installation/


