【IT专家网独家】自从六月的微软技术大会(TechEd)后,又有30万个IT工作室下载了命令行脚本语言PowerShell。过去九个月里,总共还有130万的下载量。大公司里的小型IT工作室正在使用PowerShell将几百行代码削减为一个简单的命令行。结果是,IT经理的工作变得越来越高效了。他们可以在几分钟内完成以前需要用几小时才能完成的管理任务。
Jeffrey Snover,是PowerShell的创建者,也是微软的一名Windows合作伙伴架构设计师,近日对SearchWinIT.com 透露,脚本语言的目的是节约时间,削减任务量。在下一个版本也就是PowerShell 2.0中,新的第三方工具可以使用PowerShell,IT工作室期待的一些特性也会出现。
SearchWinIT.com:PowerShell的下一步是什么?
Jeffrey Snover:我们预见了IT管理员远程管理机器的需要。这是一个远程管理的新模型,可以管理10台,100台,甚至5000台机器。因此,“远程”这一概念会运用到PowerShell引擎核心,并以一系列语言特性和命令的形式表现出来,而不是在事后才将“远程”特性附加上去。过去觉得远程操作不方便或困难的人将会发现一切都变得简单了。
能举出IT工作室如何使用PowerShell的具体例子吗?
Snover:我在微软技术大会时,有一个人来找我,说他把481行的Visual Basic脚本替换为一行PowerShell语句。他为各种各样的机器做了一个硬件目录,并使用一行PowerShell代码产生了一个报告。这个事例说明你可以通过PowerShell得到一组对象,用HTML管道的方式输出,这样你就能获得HTML格式的报告。另一个客户带着他们的脚本来找我,我们将他们的VB脚本重写为PowerShell。其中一个VB脚本有750行代码,我们仅仅用了15行PowerShell脚本就可以替代它。
请举例说明PowerShell中哪些工具能给IT工作室带来变革?
Snover:比较对象的能力。你可以获得存储于Excel,XML,数据库或现存硬件配置中的一组对象。然后使用单一的一行代码就能比较那些不同形式的对象与正运行对象之间的不同。我得到一组对运行系统进行快照的XML文件。然后,我将它们与当前状态进行比较,就能看出所有从那以后新创建的进程或曾经出现但现在已停止的进程。所有这些工作仅仅通过一行代码就能完成。从更高的层次看,你可以把工作集压缩到2MB左右,要求它“只显示改动超过2MB的工作集”。令人难以置信的是,这些都可以通过一行命令轻松完成。
有些人觉得学习PowerShell容易,但有些人又觉得难。那么学习效果曲线是什么?
Snover:对IT从业人员人员来说,这是一个比较紧急的任务。如果不是马上见效的方法,他们则不会引起重视。这就是Exchange 2007,VMM(Virtual Machine Manager),Desktop Protection Manager在PowerShell之上提供GUI层的原因。因此,IT管理员即使不了解PowerShell也并不妨碍使用。但是在某些方面,他们可能又会觉得这个GUI不能完全满足他们的需要。他们会注意到这些产品的每个GUI都可以找到刚才所做操作等价的命令行。他们可以把这个等价的命令行剪切并粘贴到文件的一行,对它进行修改以满足特定需求。PowerShell可以说是最简单的脚本工具,正如Unix世界中的Bash一样,或者说它对运行Federal Reserve的IT人员来说是非常高级的工具。
围绕PowerShell的第三方开发程序有哪些?
Snover:一个情况是,有人把开发PowerShell命令公开,以方便PowerShell管理他们的产品。第二种情况是宿主工具。PowerShell是一个具有交互性的外壳(shell),但这仅仅是其中一个宿主。PowerShell还是一个可嵌入式的引擎,正如一个可插入任何事情的图书馆一样。有一些民间机构,如PowerGui.org,他们开发了一个GUI允许人们执行命令,并让执行过程在GUI中图形元素的方式显现出来。还有一个工具是PowerShell Analyzer,它模仿了 SQL Query Analyzer,借鉴了它的交互式开发环境(Interactive Development Environment),但你可以还做到根据语意使用不同的颜色。你可以选择脚本的其中一些部分并执行,也可以执行整个脚本。最后一个工具是PrimalScript,这是最好的VB脚本IDE,也被PowerShell所支持。
有没有知名的应用程序提供商已经开始行动了?
Snover:我们与一些正在进行PowerShell相关应用开发但尚未公开的公司进行了很多讨论。有了这些应用程序提供商,我们就可以将他们的产品原封不动地拿来,加载到PowerShell里,并对其进行扩展,使他们的应用可以通过PowerShell编写脚本。我想,也许明年早些时候你就会听到这些应用程序提供商发布的通知。
微软表示,到2009年,它产品中所有管理GUI都将基于PowerShell。这说明了什么?
Snover:所有的产品都会使用到PowerShell。产品组是否要把他们的用户接口更换到PowerShell层之上将会是他们面临的问题。这不要求在2009年时间范围内完成。但一些微软产品组正在做这方面的工作。他们是否计划大范围重写GUI还真的是一个问题。
IT专家在哪里获得培训?有哪些资源可用?
Snover:我们低估了PowerShell的接受度,因此,也低估了培训的需求。我们知道书籍会是一个重要的元素,因此我们正努力与书籍出版商联系,目前有11本书可以参考,还有5本即将发行。很多人都可以通过这种方式获得培训。我们还有许多外部合作伙伴帮我们进行培训。如Sapien,Desktop Engineering,Ameritech和获得Sapien培训许可的Global Knowledge公司。也有一群微软领域范围内的机构为他们服务的客户提供培训。