我曾经尝试过 PowerShell V1 的早期测试版,但自从它发布正式版本以来就没有再使用过。如何最好地开始使用 PowerShell?
应该使用哪个版本的 PowerShell(V1.0 vs 2.0 CTP's)?你在使用 PowerShell 做什么?有没有可以简化使用 PowerShell 的工具(比如开发环境)?
我曾经尝试过 PowerShell V1 的早期测试版,但自从它发布正式版本以来就没有再使用过。如何最好地开始使用 PowerShell?
应该使用哪个版本的 PowerShell(V1.0 vs 2.0 CTP's)?你在使用 PowerShell 做什么?有没有可以简化使用 PowerShell 的工具(比如开发环境)?
学习PowerShell的话,有很多很好的资源:
对于IDE样式的环境,你有PowerShell Analyzer(免费)和PowerGUI(免费)、PowerShell Plus(商业)、PrimalScript(商业)和Admin Script Editor(商业)。
我尽可能地将所有事情都用PowerShell来完成。现在,我正在看 Psake,这是一个基于PowerShell的构建脚本环境。我使用它来管理我的Active Directory、Hyper-V、Twitter、一些键盘自动化(在winforms应用程序中托管PowerShell以获取按键),以及其他很多东西。另一个要检查的很酷的项目是PSExpect用于测试。我还将其用于数据库访问——通过应用程序监视对数据库行所做的更改。它也集成到我的网络监控解决方案中。
我还计划将PowerShell用作我正在开发的项目的脚本引擎。
编辑:
如果你只是学习PowerShell,我建议你专注于V1。当你变得更加熟练后,再看看CTP,但是从CTP到实际发布的V2,可能会有太多的变化,使其不适合作为你的学习工具。
祝你好运!
以下是逐个回答你的问题。
下载 v2.0 的 CTP。我使用过 1.0 和 2.0 版本,并没有发现后者存在任何稳定性问题,而且它具有更多的功能。
最好的方法是学习三个基本命令,并开始尝试使用。
步骤 1 - 使用 Get-Command 查找可用命令
例如,要查找所有“get”命令,只需键入:
*Get-Command get**
例如,要查找所有“set”命令,只需键入:
*Get-Command set**
步骤 2 - 使用 Get-Help 学习如何使用每个命令
要获取有关 Get-Command 命令的基本帮助,请键入:
Get-Help Get-Command
要获取更多信息,请键入:
Get-Help Get-Command -full
步骤 3 - 使用 Get-Member 发现对象属性和方法
Powershell 是一种面向对象的脚本语言。一切都是具有属性和方法的完整 .Net 对象。
例如,要获取 Get-Process 命令发出的对象的属性和方法,请键入:
Get-Process | Get-Member
还有一些其他的概念需要理解,如管道和正则表达式,但如果你已经做过一些脚本编写,这些应该已经很熟悉了。
我如何使用它?
有两个用途:
我赞同选择《PowerShell实战》。此外,还有很多博客可以参考,比如//\O//的博客、The Huddled Masses和JB's Powershell(SQL)。他们对shell非常熟悉,并且有许多好的脚本和片段可供参考。
我认为养成自动化小任务的习惯是训练PowerShell技能的好方法。例如,编写一个临时脚本而不是手工处理繁琐的文本处理任务。可能在最初的几次尝试中需要更长时间,但随着你变得更快并建立起一系列有用的代码片段,你可以节省很多时间。
PowerShell CTP不支持生产环境,并且在发货之前会有很多变化。我建议关注许多PowerShell博客(不要忘记PowerScripting播客)。这个主题没有缺乏好书。如果你想花一点钱,SAPIEN Technologies在www.scriptingoutpost.com上有一些自学材料。我相信Don Jones已经为CBT Nuggets制作了一系列培训视频。你可以在concentratedtechnology.com上找到更多信息。