VMware PowerCLI和微软PowerShell 谁脚本好

运维 服务器运维
拿VMware的PowerCLI与微软的PowerShell作比较似乎是太可能,因为前者需要后者先安装好,且它仅是一个针对核心PowerShell环境的供应商指定附加物。

拿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中可以做的任务量通常也会大幅增加。

#p#  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为为可预见的未来规定系统管理员的休息场所。

【编辑推荐】

  1. 有对比才有选择 不同虚拟化技术的全面解析
  2. 避实就虚?历数服务器虚拟化关键步骤
  3. 拔云见日,揭开惠普“疑云”
  4. Gartner魔力象限:VMware虚拟化老大位置将不保
  5. 从“水漫京都”看气象超算预测建设
  6. 生活中的“变形金刚” Watson变身行业多面手
  7. 避实就虚?历数服务器虚拟化关键步骤
  8. 恶意软件来袭 如何防止服务器变成“砖”
  9. 升级或技术革新:服务器硬件升级的那些事儿
  10. 中小企业实施服务器虚拟化技术小百科
责任编辑:张玉 来源: TechTarget中国
相关推荐

2011-07-12 09:12:54

PowerShellPowerCLI

2012-02-01 09:38:48

vmware虚拟化VMware Powe

2011-09-06 14:16:09

VMware微软

2011-08-05 11:06:33

VMware vSph虚拟化

2010-08-12 17:51:06

微软VMware虚拟化灾难恢复

2023-09-05 07:04:51

PowerShell运维

2010-05-20 09:29:14

谷歌微软云计算

2016-08-22 12:17:56

PowerShellLinuxOS X

2013-07-23 15:10:34

PowerShell

2015-12-03 10:35:25

微软IT ProAzure Power

2023-08-28 07:03:43

PowerShell脚本运行

2012-11-19 10:49:17

Vmware微软PaaS

2018-07-18 13:13:35

微软Windows 7Windows 10

2011-01-20 10:23:41

VMware PowePowerShell

2019-04-09 08:02:15

微软工具Windows

2012-07-19 09:16:37

VMware云计算Cloud Found

2012-07-19 09:38:56

VMware

2014-03-11 11:10:10

PowerShell自动化脚本

2017-03-13 16:40:28

微软LinuxPowerShell

2016-11-22 17:26:11

开源PowerShellLinux
点赞
收藏

51CTO技术栈公众号