对比Hyper-V 2012与Hyper-V 2008中的PowerShell cmdlets

日期: 2012-12-26 作者:Rob McShinsky翻译:张冀川 来源:TechTarget中国 英文

Windows Server 2012中的Hyper-V PowerShell模块使得在无System Center 虚拟机管理器(SCVMM)情况下的虚拟化管理变得容易起来。Hyper-V 2012 PowerShell cmdlets中一些重要的改变值得我们注意。   如果要对虚拟环境进行批量修改,使用SCVMM 2012更方便。但是在大多数情况下,使用内置的Hyper-V cmdlets进行一些操作比如创建VM、修改VM的属性、监控VM的使用情况等已经绰绰有余了。

  Windows Server 2008 R2 中的Hyper-V PowerShell cmdlets功能简单明了,但是……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

Windows Server 2012中的Hyper-V PowerShell模块使得在无System Center 虚拟机管理器(SCVMM)情况下的虚拟化管理变得容易起来。Hyper-V 2012 PowerShell cmdlets中一些重要的改变值得我们注意。

  如果要对虚拟环境进行批量修改,使用SCVMM 2012更方便。但是在大多数情况下,使用内置的Hyper-V cmdlets进行一些操作比如创建VM、修改VM的属性、监控VM的使用情况等已经绰绰有余了。

  Windows Server 2008 R2 中的Hyper-V PowerShell cmdlets功能简单明了,但是Hyper-V PowerShell cmdlets需要的CodePlex PowerShell模块并没有集成在Windows Server 2008中。使用Hyper-V PowerShell只能执行一些基本的任务,但SCVMM却是编写高级Hyper-V Powershell脚本的唯一选择——这对许多组织来说意味着需要增加软硬件成本。

  Hyper-V PowerShell cmdlets的所有功能在新版本的Hyper-V中继续存在,但是很多cmdlets已经发生了变化。因此将PowerShell 脚本迁移至Hyper-V R2需要有一个了解新语法的学习过程。

  让我们一起来了解一下Windows 2008 R2 Hyper-V以及Hyper-V 2012 PowerShell cmdlets的一些不同之处,以及我在新平台上所使用的一些基础脚本。

  Hyper-V 2012与Hyper-V 2008中的PowerShell cmdlets差异

  两个脚本首要的不同之处就是从第三行到第七行。CreateVMR2.ps1脚本加载了外部的Hyper-V PowerShell脚本,而在Hyper-V 2012 PowerShell脚本中没有。因为当你打开PowerShell时,Hyper-V会默认加载外部的Hyper-V PowerShell脚本。

  继续看一下脚本中创建VM的部分,你会看到两个语法的不同之处。New-VM是一样的,但是当给虚拟机添加CPU时,我们看到的是新的cmdlet Set-VMProcesssor(CreateVM2012.ps1 的第33行) 而不是Set-VMCPUCount(CreateVMR2.ps1 / 的35行)。

  另外,Hyper-V 2008中的 -VM switch在Hyper-V 2012中变成–VMName。Hyper-V 2008中为VM分配CPU数量的命令–Count ,在Hyper-V 2012中变成-CPUTCount。

  为虚拟机配置网络适配器的cmdlet在Hyper-V 2008以及Hyper-V 2012中也有不同之处。Add-VMNic (CreateVMR2.ps1 第37行)现在是 Add-VMNetworkAdapter(CreateVM2012.ps1第35行),同时虚拟网络交换机已经从–VirtualSwitch 更改为–Switchname。

  接着看看使用PowerShell cmdlets设置VM内存的差异。Set-VMMemory cmdlet是相同的,但是切换为动态内存的配置已经发生了明显改变。–dynamic cmdlet(CreateVMR2.ps1的第36行) 已经替换为了–DynamicMemoryEnabled(CreateVM2012.ps1的第34行)。–MinimumBytes 以及–MaximumBytes开关是Hyper-V 2012 cmdlets中的一部分,取代了Hyper-V 2008中的-limit。

  用于增加虚拟硬件驱动器(VHD)的PowerShell cmdlets同样发生了变化。创建新VHD的cmdlets都是 New-VHD,但是定义访问VHD的文件路径已经从–VHDPaths、–ParentVHDPath (CreateVMR2.ps1的第40行) 替换为 –Path 和–ParentPath(CreateVM2012.ps1 的第38行)。为VM增加磁盘所需要的cmdlets已经从Add-VMdisk(CreateVMR2.ps1 的第46行) 更换为 Add-VMHardDiskDrives(CreateVM2012.ps1的第44行)。同时设置控制器类型以及控制器数量的开关也进行了全面的修改:由–ControllerID 更改为 ControllerType ,由–LUN 更改为ControllerNumber。

  除了cmdlets以及开关发生变化外,Windows Server 2012 Hyper-V 还提供了一些新特性。

  上述实例并不仅仅是为了比较Windows Server 2008 R2 Hyper-V 以及Windows Server 2012 Hyper-V cmdlet的差异之处,更是为了说明当迁移至新Hyper-V平台后需要做的调整。必须对现有的脚本进行某些转换,在最新版本的Hyper-V中所发现的已经扩展的cmdlets以及某些新功能的cmdlets同样值得花时间去练习使用。

翻译

张冀川
张冀川

TechTarget中国特约专家,任职于某国企信息中心,负责数据中心硬件基础设施及信息系统运维管理工作,对虚拟化及云计算技术有浓厚兴趣,并在工作中积极应用

相关推荐

  • 专家谈Windows Server 2016存储——Storage Spaces Direct

    为了让大家更加了解新版本Windows Server中的一些存储变化,我们采访了微软Hyper-V MVP Thomas Maurer。他对Storage Spaces Direct特性进行了深入介绍。

  • 面对Windows Server 2016虚拟化新变化 管理员用什么姿势迎接才最好?

    我们向微软Hyper-V MVP Thomas Maurer询问了Windows Server 2016中有关存储和虚拟化方面的一些变化,以及管理员如何为未来技术,如云计算和容器,做好准备。

  • Windows Server 2016系列三:虚拟化

    在《Windows Server 2016系列一:关键变化》中,我们对Windows Server 2016的新特性已经有所了解。对于决定升级到Windows Server 2016的组织,《Windows Server 2016系列二:升级》必不可少。Windows Server 2016在虚拟化方面提供了首次登陆的容器和Hyper-V更新。容器是虚拟化的未来发展方式——应用程序和服务在孤立的环境中运行,不会影响到系统。Windows Server 2016还为Hyper-V带来了显著的安全提升。

  • Windows Server 2016系列一:关键变化

    随着Windows Server 2016正式发布的日益临近,越来越多企业开始考虑挑战到新的服务器操作系统平台。无论你是持观望态度还是决定部署新的服务器操作系统,本指南共分四个系列,带你由浅入深,从全面了解到最终掌握Windows Server 2016。