Server 2012 Hyper-v新功能之二:自动化支持技术

    Windows PowerShell 是在 Windows Server 中执行自动化任务的脚本解决方案,新的适用于 Windows PowerShell 的 Hyper-V cmdlet 为 IT 专业人员提供了一种简单的方法,能够在 Windows Server 2012 中实现管理任务的自动化。在 Windows Server 2012 中,Hyper-V 通过引入超过 140 个内置的适用于 Windows PowerShell 的 Hyper-V cmdlet 来解决此问题。随着 Hyper-V cmdlet 数量的扩大以及与操作系统其他部分的紧密集成,管理员现在可以轻松地在其环境中实现 Hyper-V 相关任务的自动化,通过使用这些新的 cmdlet,管理员可以更容易使数据中心的(从基本到复杂的)任务实现自动化。

命令列表: 此处为全部140多个的Hyper-V Cmdlets in Windows PowerShell

前提条件:

· 一台运行 Windows Server 2012 的计算机,且该计算机已经安装 Hyper-V 角色,至于如何用Windows PowerShell 的命令添加删除角色,请参考相关的命令。Hyper-V 需要计算机使用支持硬件虚拟化的处理器。

· 一个属于管理员组或 Hyper-V 管理员组成员的用户帐户。

下面,是创建一台虚拟机、加载硬盘、加载网络、加载DVD启动光盘的较典型过程,从这个过程中,我们可以看 Windows PowerShell 的 Hyper-V cmdlet 语法的一些使用格式:

任务

执行任务的 Windows PowerShell 命令

1、在e:\hyper-v\windows8\windows8.vhdx 下创建固定大小为20G的虚拟硬盘

New-VHD -Path e:\hyper-v\windows8\windows8.vhdx –Fixed –SizeBytes 20GB

2、创建一个新的虚拟机名称为:Windows8 ;内存 1G的虚拟机

New-VM –Name “windows8” –MemoryStartupBytes 1GB

3、把虚拟硬盘windows8.vhdx加载到名为Windows 8的虚拟机上

Add-VMHardDiskDrive -VMName Windows8 -Path e:\hyper-v\windows8\windows8.vhdx

4、将“windows8”虚拟机上的虚拟网络适配器连接到“Switch”交换机上。

Connect-VMNetworkAdapter –VMName Windows8 –SwitchName Switch

5、加载启动光盘

6、启动虚拟机

Add-VMDvdDrive -VMName windows8 –Path D:\os\windows8cp.iso

Start-VM –Name windows8

1、在e:\hyper-v\windows8\windows8.vhdx 下创建固定大小为20G的虚拟硬盘

创建过程:一般情况下,这个命令可以连同目录一同创建。

clip_image001

创建结果

clip_image002

2、创建一个新的虚拟机名称为:Windows 8 ;内存 1G的虚拟机

clip_image003

3、把虚拟硬盘windows8.vhdx加载到名为Windows 8的虚拟机上:执行完命令后没有任何提示

clip_image004

结果显示:

clip_image005

4、将“windows8”虚拟机上的虚拟网络适配器连接到“Switch”交换机上。

clip_image006

结果:

clip_image007

5、加载启动光盘

clip_image008

结果

clip_image009

6、启动虚拟机

clip_image010

结果:

clip_image011

这个我只是把创建和配置一台虚拟的过程分步给大家演示了一下,如果您做为一个IT工程师,您可以把这些新的适用于 Windows PowerShell 的 Hyper-V cmdlet 做成一个腿本或批处理文件,那么,创建、配置和管理一批虚拟不就在分秒之间么?这就是所谓的自动化支持技术。

以下是一些命令使用的规则,给大家总结如下:

前缀

用途

VM

用于管理虚拟机的 cmdlet

VHD

用于管理虚拟硬盘文件的 cmdlet

VFD

用于管理虚拟软盘文件的 cmdlet

命令帮助:

● Get-Help <cmdlet name> -Detailed
● Get-Help <cmdlet name> -Examples
● Get-Help <cmdlet name> -Full

BUG:在测试中,发现只要目录中带空格,就会出错,不知道用中文目录行不行,没有测试。这个Bug已经反馈给微软,期待Server 2012正式版发布时能得到改进。

clip_image012