【www.hj8828.com】那么些与VDI相关的Windows PowerShell脚本

2012年9月18日,微软新一代服务器操作系统Windows Server
2012正式面向中国市场发布。让我们也近距离接触,微软号称”云操作系统”带来的体验。

随着Hyper-V 3.0和Windows Server 8即将发布,微软进一步明确了PowerShell
v3将成为其服务器平台底层管理标准。最新的PowerShell
v3包含了大量全新的cmdlets,实现服务器和Windows
8桌面的管理和自动化,其中也包括有超过1000条cmdlets的Hyper-V。

当Windows 8.1和Windows Server 2012
R2正式发布时,微软也提供了新版本的PowerShell。其中至少一半的脚本能够帮助VDI管理员处理日常或常规管理任务。

作为Windows Server家族中的新成员,Windows Server
2012融合了强大的新型管理工具,帮助IT部门更为广泛的管理任务,实现集中化管理和自动化管理,从而提高数据中心的运行效率。

在过去几年中,微软增加了PowerShell脚本语言的戏码,通过它搭建很多产品的管理体系,最为著名的就是Exchange
2010。而即将出现的PowerShell v3将作为Hyper-V管理任务和命令的基础组件。
据微软内部人员透露,最终所有的微软图形界面管理工具都会把PowerShell作为底层执行命令。例如,您将可以通过底层执行PowerShell
cmdlets的Systems Center系列管理工具,管理Windows Server
role,如Hyper-V。 在不久的将来,您将完全使用PowerShell
v3的命令行完成Hyper-V的安装和配置工作,不再需要GUI。 Hyper-V
3.0的PowerShell v3 首先从MSDN或TechNet下载Windows Server
8测试版代码。然后,在您选择的hypervisor上以虚拟机的方式进行安装。
我的Hyper-V 3.0测试环境 我广泛使用VMware Workstation
和Fusion,在上面安装测试代码很简单。最新的VMware Workstation
8甚至为Windows Server
8预装了机器类型,以测试列表的方式列出。我还可以下载到Windows Server 8
虚拟磁盘——一种定制的.vhd镜像。然后把它顺利加载到了现有的Hyper-V服务器中。
Windows Server
8安装完成后,通过下面的PowerShell命令启动Hyper-V角色的安装:
Add-WindowsFeature Hyper-V –Restart
(虽然命令中采用了“feature”,但实际上是个Role) 然后,加载Hyper-V
PowerShell模块: Import-Module Hyper-V 在Hyper-V 3.0中运行PowerShell v3
cmdlets 现在好戏开演。获取所有可以管理Hyper-V的cmdlets列表: Get-Command
–Module Hyper-V –Verb
向PowerShell加载了新模块后,我喜欢使用如下命令列出某个特定对象的所有相关属性:
Get-VM | Get-Member –MemberType Property
非常有趣的显示,对吧?现在您可以看到所有的属性,新的和旧的——诸如虚拟磁盘、内存分配、处理器计数等等,现在您可以通过各种Powershell
cmdlets进行查询。 下面是我找到的一些有趣的新命令,请自行探索更多命令:
Enable-VMMigration  #enable migrations
该cmdlets启用Hyper-V主机之间虚拟机的迁移功能 Add-VMMigrationNetwork
 #add subnets to the VM migration settings
通过执行该cmdlets,可以向Hyper-V迁移网络中添加子网。这样可以使支持迁移功能的宿主机设置更为灵活。
New-VMReplicationAuthorizationEntry  #add authorization entry for a VM
该cmdlets创建了新的认证入口,包含新的Hyper-V宿主机或被允许的主服务器),包括在Hyper-V集群中对应的副存储。
PowerShell v3的缺点 当您在PowerShell中获得一组新的Hyper-V
cmdlets同时,也要对其缺点有所了解。新的Hyper-V 3.0
cmdlets不能管理老版本的Hyper-V。这是一个非常严重的问题,意味着管理员根据Hyper-V的不同必须采用不同的脚本去管理,直至完成所有宿主机的升级。
在Hyper-V
3.0和老版本之间存在不兼容很难理解,也带来不便。但是,大家知道这在软件厂商并不鲜见。对使用老版本Hyper-V的管理员,您需要从CodePlex下载PowerShell
Library for Hyper-V。

你可以通过Windows 8.1和Windows Server 2012 R2中巨大的Hyper-V
cmdlet库使用Windows PowerShell脚本。

特别值得一提的是Powershell
3.0,通过简单的命令行,即可获得全面、适应性高、简单的自动化管理方式,这就是PowerShell
3.0给我们带来的全新体验。

3.0和Windows Server
8即将发布,微软进一步明确了PowerShell
v3将成为其服务器平台底层管理标准。最新的PowerShell
v3包含了大量全新的…

不仅仅针对虚拟服务器

www.hj8828.com 1

库中总共有164个Hyper-V
cmdlet,其中大部分对VDI管理员都具有价值。数据还显示,VDI自动化可以减少管理员必须处理的手动管理任务量,特别是在桌面配置、更新等方面。

Powershell 3.0内置在Windows 8 client 和windows server 2012。
通过服务器管理器集成控制台,可以统一管理配置多台服务器,让用户更快速、更敏捷的响应管理事件,同时,通过PowerShell
3.0,可以实现更广泛的自动化管理。

表1是从TechNet引用的部分选择项目列表。每个cmdlet链接到相应的英文文档页面。

Powershell 3.0作为Windows Management Framework
3.0的一部分,集中体现了Powershell
3.0的新特性:Powershell工作流、增强会话灾难恢复、语法简洁方便、增强了cmdlet的查找和自动导入模块的功能、提供了对webservice强大支持和ISE命令加载项等。

表1:VDI Hyper-V cmdlet