如何开始使用PowerShell?[关闭]


69

我玩过PowerShell V1的早期Beta版本之一,但自从它变成“金”以来就没有使用过。开始使用PowerShell的最佳方法是什么?

我应该使用哪个版本的PowerShell(V1.0和2.0 CTP)?您使用PowerShell做什么?是否有任何工具可以使使用PowerShell更加容易(即开发环境)?


4
这确实应该分解为单独的问题,尤其是关于IDE的最后一个问题。
halr9000

Answers:


49

对于学习PowerShell,有很多很棒的资源

  1. Technet虚拟实验室(Windows PowerShell简介
  2. PowerShellCommunity.org-论坛,博客,脚本存储库
  3. irc.freenode.net上的powershell

  4. PowerShell播客-PowerScripting.net和Get-Scripting.blogspot.com

对于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,因为它具有出色的功能集。

祝好运!


据我了解,V1更加面向开发人员,而V2则更加面向IT,这对于V2而言,人们不必通过打开Visual Studio来创建更复杂的cmdlet便可以了。
dance2die

@Sung V1就是第一个发行版。PowerShell背后的想法一直是以面向任务的方式显示命令。V2确实使具有高级功能的管理员更容易扩展功能。
Steven Murawski

@Sung我希望每个版本都能看到更好的东西!:)
史蒂芬·穆拉斯基

1
作为标记最受好评的答案的更新-V2作为Windows Management Framework Core(适用于XP和所有更高版本的OS)的一部分,于2009年10月底秘密发布-support.microsoft.com/kb / 968929
史蒂夫·

23

一一回答您的问题。

获取CTP v2.0。我使用过1.0和2.0,但在更高版本中未发现任何稳定性问题,它具有更多功能

最好的入门方法是学习三个基本命令并开始使用它。

步骤1-使用Get-Command发现可用命令

例如,要查找所有“获取”命令,只需键入:

*获取命令获取**

例如,要查找所有“设置”命令,只需键入:

*获取命令集**

步骤2-了解如何使用Get-Help使用每个命令

要获得有关Get-Command小命令的基本帮助,请输入:

获取帮助获取命令

要获取更多信息,请输入:

获取帮助获取命令-完整

步骤3-使用Get-Member发现对象属性和方法

Powershell是一种面向对象的脚本语言。一切都是具有属性和方法的成熟的.Net对象。

例如,要获取由Get-Process Commandlet类型发出的对象的属性和方法:

获取流程| 获得会员

您还需要了解其他一些概念,例如管道和正则表达式,但是如果您已经完成了一些脚本编写,那么这些概念应该已经很熟悉了。

我用它做什么?

两件事情:

  1. 处理来自大规模分布式网格应用程序的日志文件。为此,它被证明是非常有价值和强大的。
  2. .Net类的快速测试。

我第二次对.NET类进行快速测试。能够在交互式脚本环境(REPL)中进行浏览真是天赐良机。当然,也请务必阅读文档...
GlennS 2011年



4

找到您需要解决的问题,并坐下来使用PowerShell进行操作,直到问题解决。

不要屈服并以另一种方式做。然后找到另一个,依此类推。一开始您将花费更多的时间,但是您将积累知识以备将来使用。以及将来可以使用的脚本库。有一天,您将转身并意识到您现在“知道” PowerShell。

这很棒。:)



2

检查PowerGUI,PowerShell GUI和脚本编辑器。我还没有用过,但是我看了示例视频,看起来非常不错。此外,该站点还包含带有示例脚本的库。

是另一个出色的PowerShell参考。



1

在生产环境中不支持PowerShell CTP,从现在到发布时间之间会有很多变化。我建议关注许多PowerShell博客(不要忘记PowerScripting播客)。不乏有关该主题的好书。如果您想花点钱,SAPIEN Technologies可以在www.scriptingoutpost.com上提供一些自定进度的学习材料。我相信Don Jones为CBT掘金队做了一系列培训视频。您可能会在浓缩技术网站上找到更多信息。


1

我认为养成自动执行小任务的习惯是在PowerShell中进行自我训练的好方法。例如,编写一个一次性脚本而不是手工完成繁琐的文本处理。实际上,前几次可能会花费更长的时间,但是随着您变得更快,并建立了有用的代码片段库,可以将它们链接在一起,可以节省很多时间。


我同意您的想法,是的,我们可以从自动执行日常活动的小任务开始,这是在PowerShell中进行自我培训的好方法。从不打开命令提示符就查找IP开始最简单的事情。我们可以从任何简单的站点开始,例如PS教程powershelltutorial.net或computerpeformance.co.uk
Manoj Patil



0

我会马上开始的。我的意思是即时开始处理您的实际案例,如果您不知道要怎么做,请在网络或本网站上寻求帮助。当然,如果您花一些时间先学习一些基础知识,这将非常有益。这就是进入PowerShell的过程。

我有一些关于PowerShell的博客文章,特别是关于我最近发布的一个真实案例的3系列文章。搜索davidchuprogramming或转到此处。祝您在PowerShell旅途中一切顺利。



0

关于IDE问题:

至少在我的计算机上已经安装了PowerShell的基本IDE。

它被标记为“ WindowsPowerShell ISE”,可让您执行一些操作,例如同时打开多个控制台会话和几个脚本文件...一组脚本选项卡,一组控制台会话,因此您可以根据需要来回单击。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.