第2章:基本的PowerShell概念

地空导弹

你的消息来源,观点,和读者对这个行业最热门的争议的反应。

在这一章当中

  • 开始

  • 理解命令行接口(CLI)

  • 了解的cmdlet

  • 得到帮助

  • 理解变量

  • 了解别名

  • 创建第一个脚本

  • 摘要

本章向您介绍PowerShell的技术基础以及如何使用它,重点介绍PowerShell 2.0 CTP2中提供的新功能。您将了解如何下载和安装PowerShell,如何使用PowerShell命令行界面(CLI),如何使用cmdlet,如何访问PowerShell 2.0的帮助特性,以及如何编写基本脚本。本章并不是一个完整的入门指南;相反,它涵盖了重要的概念,你需要了解的后续章节。

开始

开始使用PowerShell的最佳方法是访问Windows PowerShell主页,如下所示图2.1

对于在Windows PowerShell主页的URL是http://www.microsoft.com/powershell/

这个站点是关于PowerShell的重要信息资源,允许您下载文档、工具、阅读最新的产品新闻,并获得最新版本的PowerShell。下一步是下载和安装PowerShell。在深入了解安装过程之前,一定要弄清楚哪个版本的PowerShell最适合您的需求。目前有两个版本的PowerShell可供从Microsoft下载:PowerShell 1.0 RTW和PowerShell 2.0 CTP2。以下各节将描述这些版本。

图2.1

Microsoft Windows PowerShell主页

PowerShell 1.0环球套票

在撰写本文时,PowerShell的当前发布版本是1.0 RTW(发布到Web)。这个版本的PowerShell于2006年11月向公众发布。虽然PowerShell 1.0 RTW不包含在第一章“shell介绍”中讨论的PowerShell 2.0 CTP2的新特性,但它是PowerShell最新的稳定版本,在撰写本文时,它是惟一推荐在生产环境中使用的版本。PowerShell 1.0 RTW适用于所有支持的平台,可通过以下URL下载:http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx

在Windows Server 2008上启用PowerShell 1.0

Windows PowerShell 1.0是Windows Server 2008操作系统的一个特性。但是,在使用PowerShell之前,必须使用ServerManager管理单元添加它。要完成这项任务,请遵循以下步骤:

  1. 使用本地管理员权限登录到所需的服务器。

  2. 点击开始,然后单击运行

  3. 在里面运行对话框中,键入ServerManager.msc,然后单击

  4. 在里面功能概述部分,单击添加功能任务。

  5. 选择功能页面中,选择Windows PowerShell中功能,然后点击下一个

  6. 确认安装选择页面上,检查所做的选择,然后点击安装

  7. 安装结果页面,查看结果,然后单击关闭

PowerShell的2.0 CTP2

PowerShell 2.0 CTP2是PowerShell语言的社区技术预览版。这个PowerShell 2.0的预发布版本包含了在第1章中描述的新语言特性,非常适合那些对在实验室或预生产环境中试验PowerShell 2.0的新功能感兴趣的人。在安装PowerShell 2.0 CTP2之前,您需要确保您的系统满足以下最低安装要求:

  • PowerShell 2.0 CTP2支持的操作系统包括带有服务包2的Windows XP、带有服务包1的Windows Vista、带有服务包1的Windows Server 2003和带有服务包1的Windows Server 2008。

  • 安装PowerShell 2.0 CTP2需要Microsoft . net Framework 2.0。

  • 在Microsoft .NET Framework 3.0是需要使用新的PowerShell图形和Out-GridView的cmdlet的PowerShell中的2.0 CTP2。

  • Get-Event cmdlet只适用于Windows Vista和Windows Server 2008,并且需要Microsoft . net Framework 3.5。

  • Windows远程管理(WinRM)CTP2组件需要使用PowerShell中2.0 CTP2新的远程功能。

  • Remoting只适用于Windows Vista与服务包1 (SP1)和Windows Server 2008。

所有列出的附加组件都可以从微软下载中心下载http://www.microsoft.com/downloads/(见图2.2)。

在安装PowerShell 2.0 CTP2之前

如果您目前拥有的PowerShell 1.0的系统上安装,你需要在安装PowerShell 2.0中之前将其删除。下面的步骤描述您需要遵循卸载的PowerShell 1.0,根据您的操作系统上的程序。

卸载Windows PowerShell 1.0

  • Windows XP-SP2和Windows Server 2003:添加/删除程序,选择显示更新的选项。删除PowerShell的更新适用于您的系统:KB926139(EN-US)KB926140(局部),和KB926141(MUI包)。

  • Windows Vista:控制面板>程序和功能>已安装的更新。卸载PowerShell的更新:KB928439

  • Windows Server 2008:在Windows Server 2008中,PowerShell 1.0是一个可选组件。如果您已经启用了PowerShell 1.0,那么在安装PowerShell 2.0 CTP2之前,必须关闭该特性。启动服务器管理器并选择删除功能的选项。从列表中选择PowerShell并禁用这些特性。


注意:请注意你会的能够在安装了Exchange 2007或Exchange管理Shell的Windows 2008服务器上安装PowerShell 2.0。


图2.2

Microsoft下载中心

安装和配置WinRM (Windows远程管理)

WinRM是微软实现的WS-Management协议,这是一个简单对象访问协议(肥皂为系统访问和交换管理信息提供一种通用方法的协议。默认情况下,WinRM使用端口80和443进行传输;因此,它与大多数防火墙兼容。但是,WinRM还允许在必要时更改这些默认端口。虽然WinRM在Windows Vista和Windows Server 2008中是本地支持的,但是WS-Management 2.0 CTP组件是必需的,以支持在PowerShell 2.0中CTP2释放远程处理。为WS-Management的2.0 CTP更新可以从以下网址下载:https://connect.microsoft.com/site/sitehome.aspx?SiteID=200&wa=wsignin1.0


注意:对于Windows Vista系统,需要Windows Vista服务包1来启用WinRM功能。


下载并安装PowerShell 2.0

在安装了。net Framework 2.0和。net Framework 3.0之后,在您的系统上安装了所有必要的WinRM组件之后,您的下一步是下载PowerShell 2.0的CTP2安装包http://www.microsoft.com/downloads/details.aspx?FamilyId=7C8051C2-9BFC-4C81-859D-0864979FA403&displaylang=en(见图2.3)。

图2.3

下载Windows PowerShell 2.0

要安装PowerShell,下载页面上,找到正确的PowerShell安装包为您的x86或x64版本的Windows。然后,通过点击相应的下载链接下载PowerShell的安装包。接下来,通过单击打开在下载框或双击安装文件开始PowerShell安装。(文件名根据不同的平台,Windows版本和语言包上。)安装程序启动后,按照安装说明。

另一种安装方法是在命令行上使用/quiet开关和PowerShell安装文件名进行静默安装。如果您计划在许多不同的系统上安装PowerShell,并且希望通过登录脚本、系统管理服务器(systems Management Server, SMS)或其他软件管理方法来分发安装,则此安装方法非常有用。要执行静默安装,请执行以下步骤:

  1. 点击开始>运行

  2. 类型cmd,然后点击要打开cmd命令提示符。

  3. 类型PowerShell的EXE文件名/安静(用PowerShell安装文件名替换斜体文本)并按回车键。

安装PowerShell中后,您可以通过三种不同的方法来访问它。要使用从开始菜单访问它的第一种方法,请按照下列步骤操作:

  1. 点击开始>所有程序>的Windows PowerShell 2.0

  2. 点击Windows PowerShell中

要使用第二种方法,请按照下列步骤操作:

  1. 点击开始>运行

  2. 类型PowerShell在里面运行对话框,然后单击

这两个方法都会打开PowerShell控制台,如下所示图2.4

图2.4

PowerShell控制台

按照以下步骤使用cmd命令提示符中的第三种方法:

  1. 点击开始>运行

  2. 类型cmd并点击要打开cmd命令提示符。

  3. 在命令提示符处,键入powershell,如图2.5,然后回车。

图2.5

通过CMD推出的PowerShell控制台的命令提示符

配置WSMan设置

如前所述,PowerShell Remoting和PSJobs特性依赖于Windows远程管理(WinRM)技术。要使这些特性发挥作用,需要对PowerShell 2.0的默认WSMan设置进行大量配置更改。幸运的是,这个过程可以通过一个名为PowerShell的脚本简化配置-Wsman.ps1在里面pshome美元文件夹中。此脚本配置WS-Man设置。下面的命令执行Configure-WSMan.ps1脚本的pshome美元位置:

&$ PSHome的\配置,Wsman.ps1

请注意:由于PowerShell 2.0的默认脚本执行策略(最初设置为限制)时,Configure-WSman.ps1剧本最初将不会被允许运行。下面显示您获得的,如果你试图在不修改默认脚本执行策略运行此脚本错误的屏幕截图。

psc:\> & $pshome\配置- wsman .ps1

文件C:\WINDOWS\system32\ WindowsPowerShell \ v1.0 \ \ Configure-Wsman.ps1

因为脚本的执行是在这禁用无法加载

系统。详情请参阅“有关_signing的帮助”。
在行:1字符:2+ & <<< $pshome\Configure-Wsman.ps1p C: \ >

为了使Configure-WSMan.ps1脚本成功执行,可以使用SET-ExecutionPolicy将执行策略设置为下RemoteSigned,如在下面的实例中所示。剧本完成后,你可以选择使用设置ExecutionPolicycmdlet来的PowerShell返回到其默认脚本执行策略。下面显示了三个单独的操作命令序列:设置脚本执行策略为RemoteSigned,执行Configure-WSMan.ps1然后将脚本执行策略设置回默认值。(在本章后面编写基本的PowerShell脚本时,我们将再次使用Set-ExecutionPolicy cmdlet。第5章“理解PowerShell安全性”更详细地讨论了PowerShell安全性和相关的最佳实践。下面的屏幕截图显示了运行Configure-WSMan.ps1脚本。

PS C:\>设置executionpolicy下RemoteSignedpsc:\> & $pshome\配置- wsman .ps1配置的WSMan配置WSMan完成打开端口80和443PS C:\>设置executionpolicy默认p C: \ >

完成前面描述的步骤之后,就可以配置PowerShell 2.0 CTP2并可以使用了。

理解命令行接口(CLI)

使用PowerShell的CLI的语法类似于语法其他CLI炮弹。是,当然,要执行的PowerShell命令的基波分量的命令的名称。另外,命令可以通过使用参数和参数的参数进行更具体。因此,PowerShell命令可以有以下格式:

(命令名)(命令名)——(参数)[命令名]-[参数]-[参数][argument1][命令名]-[参数]-[参数][argument1],[argument2]

注意:在PowerShell,参数是可以被命令、脚本或函数接受的变量。一个争论是分配给参数的值。尽管这些术语经常互换使用,记住这些定义在PowerShell中讨论他们的用途时是有帮助的。


可以通过运行dir命令/ w参数(其中显示的输出dir和一个参数C: \ temp \ * . txt,如下所示:

(C: \ > dir / w C: \ temp * . txt在驱动器C量为OS卷序列号是1784-ADF9的目录C: \ temp坏Stuff.txt mediapc.txt note.txt Progress.txt4文件(s) 953字节0 Dir(s) 16,789,958,656字节空闲C:\>

此命令的结果是所有。文本在文件C: \ temp。如果使用dir命令没有任何参数或参数,结果是完全不同的。PowerShell也会出现相同的结果。例如,下面是一个基本的PowerShell命令,它获取有关进程的信息资源管理器:

PS C:\>获取进程名资源管理器处理NPM(K) PM(K) WS(K) VM(M) CPU(s) Id进程名------- ------ ----- ----- ----- ------ -- -----------807 20 31672 14068 149 62.95 1280 explorerp C: \ >
相关:
123.4 第1页
第1页共4页
工资调查:结果在