自动化脚本漫谈(下):PowerShell的优势与实例

日期: 2014-03-10 作者:Jason Helmick翻译:王学强 来源:TechTarget中国 英文

PowerShell的优势 IT业已经达成共识的一点是,一个可以提供基于标准的、跨平台的、可扩展的自动化工具是值得投资的。但是不同供应商提供的GUI都有其优势,对于大多数自动化需求来说都可以使用PowerShell。不管你讨厌还是喜欢它,都需要使用它——你将会主动或者被迫使用它进行自动化。 使用Unix操作系统的IT专家已经使用PowerShell数十年了。

他们知道真正的自动化意味着能够在同一时间实现许多对象的实时互动,并且自动化脚本是最为灵活的方式。这通过命令行shell来实现,而最主流的shell就是PowerShell。其已经被VMware、微软SCVMM和Citrix XenApp所采……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

PowerShell的优势

IT业已经达成共识的一点是,一个可以提供基于标准的、跨平台的、可扩展的自动化工具是值得投资的。但是不同供应商提供的GUI都有其优势,对于大多数自动化需求来说都可以使用PowerShell。不管你讨厌还是喜欢它,都需要使用它——你将会主动或者被迫使用它进行自动化。

使用Unix操作系统的IT专家已经使用PowerShell数十年了。他们知道真正的自动化意味着能够在同一时间实现许多对象的实时互动,并且自动化脚本是最为灵活的方式。这通过命令行shell来实现,而最主流的shell就是PowerShell。其已经被VMware、微软SCVMM和Citrix XenApp所采纳。

下面是一个例子。业务部门需要部署一台新的Web服务器,在上面运行Active Server Pages .NET应用程序。传统的解决方案可能是这样:

• 登陆服务器

• 打开GUI服务器管理器

• 选择需要的角色和角色服务

• 重启服务器

而基于PowerShell的解决方案如下:

• 登陆服务器

• 打开PowerShell,并输入:

• PS> Install-WindowsFeature Web-Server, web-Asp-Net

对于小规模的需求来说这没有很大区别。如果负载均衡集群中的50台Web服务器都需要运行新的ASP.NET应用程序,GUI管理员的工作就会变成下面这样:

• 登陆服务器

• 打开GUI服务器管理器

• 选择需要的角色和角色服务

• 重启服务器

• 下一台服务器(重复50次)

这种解决方案需要几个小时到几个星期的工作量,并且不会产生任何日志文档,还有可能出现忘记添加ASP.NET等这种人为错误。而自动化专家使用下面的方式来完成这个任务:

• 打开PowerShell,并输入:

• PS> Invoke-Command -ComputerName Web1,Web2,Web3 {Install-WindowsFeature Web-Server, web-Asp-Net}

是的,电脑主机名可以从一个文本文件、.csv文件或者最好从活动目录中进行获取,但是命令基本保持一致。这个例子的意义在于说明通过使用PowerShell Remoting,你可以在几分钟之内完成对50台服务器的安装和配置工作。这是一个简单的例子,但是意思却十分清晰:我可以在几分钟内完成所有工作,我对于业务的价值要高于GUI管理员。

这些脚本是必须的(或者逐条的)指令发给电脑,来部署和配置软件。PowerShell v4提供了一种类似于Unix中的Puppet或Chef的定义方式,用来管理和控制系统配置。

再回到我的关于岳父和T系列的经历。他知道如何启动汽车,但是如果我想要启动汽车,就需要找到岳父来替我启动,这样就不需要我自己理解任何步骤。

PowerShell v4拥有“理想状态配置”,意味着我可以定义一个“我需要50台具有某种功能的新Web服务器”这样的需求,之后资源(一步一步的指令)就会执行我的计划,而不需要我理解具体细节。这不几仅仅可以用于应用程序和服务器的部署,它还能防止大规模“漂移”(以后其他管理员配置一些不必要的配置)。

PowerShell自动化为IT专家提供了一个跨平台的工具来部署和维护其理想状态。它能够让CIO在几分钟内部署50台新的Web服务器。总之,如果恰当地使用自动化,就能够使得IT部门更好的满足业务需求。

碰巧我的岳父喜欢老旧T系列的启动流程。但是对于关键业务需求来说,最好通过自动化实现,以保证安全性和可靠性。

上节《自动化脚本漫谈(上):优势与挑战

翻译

王学强
王学强

TechTarget特邀编辑,毕业于计算机专业,现任职于外企IT分析师,负责网络、防火墙和服务器等系统运维工作,对虚拟化、网络安全和渗透测试拥有浓厚兴趣,工作外热爱旅行、汽车和健身。

相关推荐