拿VMware的PowerCLI与微软的PowerShell作比较似乎是太可能,因为前者需要后者先安装好,且它仅是一个针对核心PowerShell环境的供应商指定附加物。 某人仅仅基于其脚本功能而去选择一个虚拟化平台也是不可能的。因此,我这里的比较并不是为了设置一个让两家公司竞争的恶意比赛,我将告诉你各个方案中我喜欢和不喜欢的地方。希望我可以解释两家公司提高其脚本产品的方法。
让我们从微软开始吧。 微软的PowerShell 关于SCVMM,我喜欢虚拟化管理的一个方面是其内置的观察脚本窗口。这就像一个脚本记录器,它赋予你如同PowerShell脚本一样的抓取管理行为的能力。当你正在S……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
拿VMware的PowerCLI与微软的PowerShell作比较似乎是太可能,因为前者需要后者先安装好,且它仅是一个针对核心PowerShell环境的供应商指定附加物。
某人仅仅基于其脚本功能而去选择一个虚拟化平台也是不可能的。因此,我这里的比较并不是为了设置一个让两家公司竞争的恶意比赛,我将告诉你各个方案中我喜欢和不喜欢的地方。希望我可以解释两家公司提高其脚本产品的方法。让我们从微软开始吧。
微软的PowerShell
关于SCVMM,我喜欢虚拟化管理的一个方面是其内置的观察脚本窗口。这就像一个脚本记录器,它赋予你如同PowerShell脚本一样的抓取管理行为的能力。当你正在SCVMM内执行一个把一个虚拟机转移到另一个Hyper-V主机的转移任务时,这是这一点的很好举例。在这个向导结束时,将出现一个“查看脚本”按钮,显示一个脚本需要的确切PowerShell命令。
图1
从某种程度上讲,这完全是一个来自于SCVMM研发方式的福音。最初,SCVMM是由PowerShell管理的,后来一个图形管理壳的研发围绕它开展起来,因此Windows管理员并不需要了解它背后的PowerShell。
对于微软来说,揭示在后台运行的PowerShell并不难。虽然这不利于管理员使用每个循环、错误检查以及日志的变量来编写PowerShell脚本,但是这对接触PowerShell的新手们来说是非常有用的,至少可以让他们克服在学习如何通过基本的PowerShell命令集来执行普通的管理任务时的困难阶段。
目前,Hyper-V还没有一个官方的命令集,但是James O'Neill创建了一个集合并存储在Codeplex网站。O'Neill采用了应用程序接口并编写了基于此的命令集。随着SCVMM 2012的发布,命令集的数量将会显著增加,人们在SCVMM中可以做的任务量通常也会大幅增加。
VMware的PowerCLI
VMware已经大步前进地在PowerShell中增加了许多新功能,它被称为PowerCLI。在连续的发布中,公司已经显著增加了产品中命令集的数量,差不多有250个命令集。之前的补充缺乏控制ESX主机iSCSI堆栈的命令集,虽然最近的vSphere4.1版本已经填补了这一缺口。
但仍然到处存在奇怪的漏洞。例如,没有任何有意义的有关VMware分布式虚拟网络切换器的命令集。看来公司赞同将其“Host Profiles”功能作为新创建的ESX主机的主要配置工具。购买Enterprise和SKU的客户有权使用分布式虚拟网路切换器和Host Profiles。
未来版本中会有新的部署方法,它们强调会在部署新的ESX主机时在PowerCLI上使用host profiles。值得一提的是,虚拟化专家Luc Dekens已经研发出考虑到DvSwitches管理的功能。如此说来,PowerCLI在VMware社区的主要用途是报告和检查vSphere环境。诸如virtu-al.com的“健康检查”脚本也已经非常受欢迎。
VMware的软件开发包就是一切。这个极其丰富的接口让访问人几乎可以执行每一个想要的行动,无论是在主机上还是vCenter管理服务器上。这与微软唯一官方支持的命令集只针对SCVMM形成了对比。VMware和微软之间存在一些共同之处:都对其管理程序所谓的“免费”版本提供极其有限的PowerShell支持。对于客户可能得到一个免费的管理程序,并用命令行工具管理它而不是为这个管理块支付溢价这一点,两家公司都持谨慎态度。
vCenter自身没有将PowerCLI直接集成到vSphere客户端。想要寻找一些将管理“记录”成PowerCLI代码的方法,你可以查看VMware Onyx,它是一个放置在vSphere客户端和vCenter之间的免费设备,它将行为以原始的PowerCLI SDK代码形式输出。附带说一下,它也把行为以适合VMware的Orchestrator的Java脚本格式输出。
Onyx的输出可能会有点让人不知所措,但请不要被吓到。通过一个图形用户界面和在任务完成之后收集的PowerCLI代码,我们用于执行管理任务的方式更为友好。人们应该利用PowerGUI的前端以及可扩展其功能的各种PowerPacks。PowerGUI对包括活动目录在内的种类繁多的管理任务有效,但是从虚拟化的角度来看,为VMware的vSphere、Citrix的XenServer、Microsoft的HyperV、虚拟磁盘分析、HP的虚拟连接以及Quest的vWorkspace准备了PowerPacks。
图2
与此同时,VMware正在试图将PowerCLI支持扩展到其他技术,这也是微软已经准备要在今后做的事情。这里有一个PowerCLI作为VMware的虚拟桌面解决方案,称为View,但是这个实施方案与vSphere PowerCLI的实施大不相同。感觉起来它更像一个DOS命令行系统而不是PowerShell,并且它允许流水线技术以及查询对象的属性和特性。截至目前,虽然像虚拟机站点恢复管理这样的技术不具有PowerCLI,但是它很有可能出现在虚拟机的雷达屏幕上。
对于那些没有生活在Windows世界的人来讲,PowerShell和PowerCLI已经在系统管理世界引起了巨大冲击波。但是基于Linux的脚本编写者也许会觉得遭受了冷落。VMware提供了Perl语言,而微软没有,但这是指日可待的。
相似的老版CLI和远程CLI似乎也正在消亡,就像VMware到vCLI和vCLI设备的“ESX”命令行端口一样。现在,它们想要一个中间步骤,想让VMware客户对老版“服务控制台”环境的依赖。现在,似乎PowerShell和PowerCLI为为可预见的未来规定系统管理员的休息场所。
作者
A professional instructor with over 15 years of experience in technologies such as Novell, Windows and Citrix.
相关推荐
-
提升VMware工作负载:使用全新托管私有云服务
VMware Cloud Foundation多合一方案旨在面向那些希望其他人在其现代化的软件定义数据中心堆栈中运行私有云的VMware部门。
-
全新托管私有云服务提升VMware工作负载
VMware Cloud Foundation多合一方案旨在面向那些希望其他人在其现代化的软件定义数据中心堆栈中运行私有云的VMware部门。
-
“管生也管养”:VMware发布vRealize云管平台,实现云端资源完整生命周期管理
VMware重磅发布新款vRealize云计算管理平台,以帮助企业用户规划、管理及扩展软件定义数据中心及多云部署,处理从应用到基础架构的运维管理。
-
企业版OpenStack:支持者在增加,批评声亦不断
OpenStack平台与传统的IT客户和合作伙伴一起继续向前迈进,但缺乏开源开发支持导致了对企业OpenStack的批评不断……