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代在虚拟机上提供以下新功能:

  • PXE启动通过使用标准网络适配器
  • 从SCSI虚拟硬盘启动
  • 从SCSI虚拟DVD启动
  • 安全启动(默认启用
  • UEFI固件支持

Hyper-V-Virtual-Machine-deployment

当VMSwitch连接到物理网卡时,虚拟机将使用该VMSwitch连接到网络;所以我们必须确定使用哪一种。如果您不知道Hyper-V Switch的名称,您可以使用get - vmswitch cmdlet获取信息。

Hyper-V-Virtual-Machine-deployment

现在,您可以确认虚拟机是否存在于Hyper-V管理控制台中:

Hyper-V-Virtual-Machine-deployment

已成功创建虚拟机。注意,默认情况下虚拟机没有运行,这很好,因为虚拟机没有完全配置。你也可以确认设置:

Hyper-V-Virtual-Machine-deployment

配置虚拟机

太棒了!该步骤完成虚拟机的创建。我们需要配置一些设置以满足我们的需要。在本例中,我将使用2个处理器配置VM,并使用动态内存特性。

注意:动态内存允许此虚拟机可用的内存数量在您设置的范围内动态更改。在我的例子中,我将把范围设置在256MB和2048MB之间。

Set-VM - name
-processorcount.
- innamicmemory`.
-MemoryMinimumBytes
-MemoryStartupBytes
-memorymaximumBytes.

Hyper-V-Virtual-Machine-deployment

打开设置并确认PowerShell应用的新设置:

Hyper-V-Virtual-Machine-deployment

管理虚拟机存储

您可能需要将现有磁盘附加到此虚拟机。使用Add-VMHardDiskDrive cmdlet,您可以轻松地附加磁盘。下面是语法:

add-vmharddiskdrive -vmname
-小路

Hyper-V-Virtual-Machine-deployment

再次确认数据磁盘是否已附加:

Hyper-V-Virtual-Machine-deployment

如果要轻松创建空VHDX磁盘,则可以使用磁盘管理MMC。转到动作窗格,然后单击“创建VHD”:

Hyper-V-Virtual-Machine-deployment

添加磁盘的名称和位置,选择VHD和VHDX之间的格式,磁盘类型厚稀释:

Hyper-V-Virtual-Machine-deployment

vhdx格式的虚拟硬盘容量可达64tb,而vhd格式的虚拟硬盘容量仅为2tb。

当然,您可以使用PowerShell创建一个新的VHD。

要创建新的VHD(x),可以使用新的VHD cmdlet如下所示:

New-VHD -Path
-SizeBytes.
-动态的

  • 路径:VHDX文件的路径
  • sizeBytes:VHDX的大小
  • 动态:动态或固定VHDX

Hyper-V-Virtual-Machine-deployment

管理虚拟机网络

下面是最后一步。完成虚拟机的创建和配置;已经附加了一个数据磁盘,因此我们可能需要创建一个新的网络适配器。需要添加新的网卡,使用如下命令:

add-vmnetworkadapter -vmname
-switchname.
-姓名

  • VMName:虚拟机名称
  • SwitchName:要连接的虚拟机交换机名称
  • 名称:网络适配器的名称

Hyper-V-Virtual-Machine-deployment

让我们确认虚拟机上是否存在新的网络适配器。在此示例中,应从虚拟机中删除默认网络适配器,除非您要在虚拟机上绑定两个NIC。

Hyper-V-Virtual-Machine-deployment

感谢所有这些上一步的步骤,您现在可以编写完整脚本以创建虚拟机。有很多可以自定义的参数。不要忘记使用Get-help cmdlet获取有关这些cmdlet的更多信息以满足您的需求。

最后,您的虚拟机可以使用Start-VM cmdlet进行电源:

Hyper-V-Virtual-Machine-deployment

部署新虚拟机后,创建一个新的虚拟机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主机的信息:

Hyper-V-Virtual-Machine-deployment

不要忘记将此命令送到格式列表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/

跟随我们的推特Facebook为新发布,更新,见解深刻的帖子和更多的Feeds。