我玩过PowerShell V1的早期Beta版本之一,但自从它变成“金”以来就没有使用过。开始使用PowerShell的最佳方法是什么?
我应该使用哪个版本的PowerShell(V1.0和2.0 CTP)?您使用PowerShell做什么?是否有任何工具可以使使用PowerShell更加容易(即开发环境)?
Answers:
对于学习PowerShell,有很多很棒的资源
对于IDE风格的环境,您具有PowerShell Analyzer(免费)和PowerGUI(免费),PowerShell Plus(商业),PrimalScript(商业)和Admin Script Editor(商业)。
我会尽一切可能使用PowerShell。现在,我正在研究基于PowerShell的构建脚本环境Psake。我使用if管理我的Active Directory,Hyper-V,Twitter,一些键盘自动化(在winforms应用程序中托管PowerShell来捕获击键)以及大量其他内容。我必须签出的另一个不错的项目是PSExpect以进行测试。我还将它用于数据库访问-监视应用程序对数据库中的行所做的更改。它还集成到我的网络监视解决方案中。
我还希望将PowerShell用作我正在研究的项目的脚本引擎。
编辑:
如果您只是在学习PowerShell,我将专注于V1。当您感觉更舒适时,请看一下CTP,但是从CTP到实际发布为V2的版本有太多变化,以至于不能成为您的学习工具。
版本2已发布,可从XP SP3,Server 2003,Vista和Server 2008中获得,并在Win7和Server 2008 R2的包装箱中提供。您在V1上学到的内容仍然可以为您服务,但是现在我将重点介绍V2,因为它具有出色的功能集。
祝好运!
一一回答您的问题。
获取CTP v2.0。我使用过1.0和2.0,但在更高版本中未发现任何稳定性问题,它具有更多功能。
最好的入门方法是学习三个基本命令并开始使用它。
步骤1-使用Get-Command发现可用命令
例如,要查找所有“获取”命令,只需键入:
*获取命令获取**
例如,要查找所有“设置”命令,只需键入:
*获取命令集**
步骤2-了解如何使用Get-Help使用每个命令
要获得有关Get-Command小命令的基本帮助,请输入:
获取帮助获取命令
要获取更多信息,请输入:
获取帮助获取命令-完整
步骤3-使用Get-Member发现对象属性和方法
Powershell是一种面向对象的脚本语言。一切都是具有属性和方法的成熟的.Net对象。
例如,要获取由Get-Process Commandlet类型发出的对象的属性和方法:
获取流程| 获得会员
您还需要了解其他一些概念,例如管道和正则表达式,但是如果您已经完成了一些脚本编写,那么这些概念应该已经很熟悉了。
我用它做什么?
两件事情:
请投票支持PowerShell in Action。也有很多博客,请查看// \ / O //的博客The Huddled Masses以及JB的Powershell(SQL),它们可以回溯到Shell并包含许多不错的脚本和片段来看看。
在Ars Technica的教程有点过时了,但非常好,让你使用PowerShell起来和运行。
我还建议您查看PowerGUI的建议。
在生产环境中不支持PowerShell CTP,从现在到发布时间之间会有很多变化。我建议关注许多PowerShell博客(不要忘记PowerScripting播客)。不乏有关该主题的好书。如果您想花点钱,SAPIEN Technologies可以在www.scriptingoutpost.com上提供一些自定进度的学习材料。我相信Don Jones为CBT掘金队做了一系列培训视频。您可能会在浓缩技术网站上找到更多信息。
我认为养成自动执行小任务的习惯是在PowerShell中进行自我训练的好方法。例如,编写一个一次性脚本而不是手工完成繁琐的文本处理。实际上,前几次可能会花费更长的时间,但是随着您变得更快,并建立了有用的代码片段库,可以将它们链接在一起,可以节省很多时间。
在PowerShell和PowerGUI上有DNRtv。还有.NET Rocks!有关这些工具的剧集。
名为Guy Thomas的一章对PowerShell进行了很好的介绍。
PowerGUI本身就是一个很大的帮助。该智能感知功能,把我卖了它,然后我发现了一些有用的加载项都非常好。
就资源而言:
免费电子书:
Windows PowerShell食谱
掌握PowerShell
PowerShell更深入的了解
入门视频:
http://powergui.org/entry.jspa?externalID=2278&categoryID=361