在这个例子中,获取进程是命令,-名称为参数,资源管理器是的论点。该命令的结果是关于处理信息资源管理器。如果没有使用参数或自变量,则获取进程命令只列出了处理当前所有正在运行的进程,有关具体过程没有信息。有什么比一个命令不控制或拥有它比它的默认操作执行更多,你需要了解的命令的语法。要在CLI中有效地使用命令,使用得到帮助命令,后来在讨论“有用的cmdlet,”以获取有关什么命令功能和它的使用要求的详细信息。
在CLI
与所有基于剪贴的shell一样,您需要了解如何导航PowerShell CLI以有效地使用它。表2.1列出了在使用PowerShell控制台时与各种键关联的编辑操作。
表2.1 PowerShell控制台编辑功能
按键 |
编辑操作 |
左,右箭头 |
将光标移到左右的贯通当前命令行。 |
向上和向下箭头 |
在最近输入的命令列表中上下移动。 |
插入 |
在插入和替换文本输入模式之间切换。 |
删除 |
删除当前光标所在位置的字符。 |
退格 |
删除当前光标位置前的字符。 |
F7 |
显示在命令外壳的弹出窗口最近输入的命令的列表。使用向上和向下箭头选择以前输入的命令,然后按Enter执行所选的命令。 |
选项卡 |
自动完成的命令行的序列。使用Shift + Tab键序列通过潜在匹配的列表中移动落后。 |
幸运的是,大多数的表2.1的特点是原产于cmd命令提示符,这使得PowerShell中采用管理员更容易早已熟悉的Windows命令行。唯一的主要区别是,Tab键自动完成功能在PowerShell中增强超越什么可用与cmd命令提示符。
Tab键自动完成在PowerShell中
与cmd命令提示符下,执行的PowerShell自动完成对文件和目录名。所以,如果你输入的部分文件或目录名,然后按Tab,PowerShell会返回第一个匹配的文件或目录名在当前目录。按Tab键再次返回第二个可能的匹配,使您能够循环结果列表。如cmd命令提示符,PowerShell的Tab键自动完成也可以自动完成通配符,如下例所示:
PS C:\> CD C:\文件*C:\> cd 'C:\文档和设置'PS C:\ Documents和设置>
Tab键自动补全之间的区别cmd和PowerShell的是,PowerShell中可以自动完成命令。例如,您可以输入部分命令名称,然后按选项卡键,和PowerShell通过的可能的命令相匹配的列表步骤,如下所示:
PS C:\> GET-PROPS C:\> GET-过程
PowerShell还可以自动完成与特定命令关联的参数名称。只需输入命令名和部分参数名,然后按选项卡和PowerShell循环遍历您指定的命令的参数。此方法也适用于与命令关联的变量。另外,PowerShell对变量和对象的方法和属性执行自动补全。看一个使用名为的变量的示例$ž设置为值“变量”:
PS C:\> $ Z = “变”PS C:\> $ž。
在键入$ž并按Tab键,通过可靠地进行可能的操作的PowerShell周期$ž变量。例如,如果您选择$ Z.Length财产并回车,PowerShell会返回的字符串的长度$ž可变的,如下所示:
PS C:\> $ Z = “变”p C: \ >美元Z。PS C:\> $ Z.Length8PS C:\
变量的自动完成函数区分了性能和方法。性能列没有一个开括号(如在前述$ Z.Length例子),和方法列以开放的括号,如本例所示:
PS C:\> $ Z = “变”p C: \ > Z.con美元p C: \ > Z.Contains美元(
当Z.Contains美元(提示出现时,可以使用此方法查询是否$ž变量包含的字符V输入以下命令:
PS C:\> $ Z = “变”p C: \ > Z.Contains美元(“V”)真正PS C:\>
PowerShell的修正资本的方法或属性名称,以匹配其定义。在大多数情况下,这个功能是化妆品,因为在默认情况下,PowerShell是不区分大小写。
理解Cmdlets
小命令的PowerShell的功能的基本组成部分。他们被实现为包括明确定义的一套方法来处理数据管理类(内置在.NET Framework)。小命令开发人员编写的代码运行时,该cmdlet调用和代码编译成当shell启动的是的加载到一个PowerShell实例的DLL。
的cmdlet总是与格式命名Verb-Noun其中动词指定的动作和名词指定要操作的对象。正如你可能已经注意到,大多数的PowerShell的名字是单数,不是复数,使PowerShell的详细普遍使用。例如,命令可能会提供一个值或一组值,而且也没有办法提前知道时间的cmdlet名称是否应为复数。此外,英语是在处理复数不一致。例如,字鱼可以是单数,也可以是复数,这取决于上下文。如果英语不是你的第一语言,搞清楚什么应该是复数或者正确的复数形式可能会让人望而生畏。
注意:默认PowerShell的动词是得到,这是假设,如果没有其他动词。此默认设置的效果是处理命令生成的结果与获取进程。
要确定cmdlet支持的参数,可以使用以下命令之一查看cmdlet的帮助信息:
PS C:\> cmdletName - ?PS C:\>获取帮助cmdletName
此外,您可以使用获取命令cmdlet来确定哪些参数可用,如何使用它们。下面是语法的例子:
PS C:\> get-command cmdletName
当与工作获取命令小命令,管道其输出到格式表cmdlet将产生该cmdlet的使用更简洁的列表。例如,为了显示只是为了定义信息获取进程中,使用下面的命令:
PS C:\> GET命令GET-过程|格式列表定义定义:GET-过程[[ - 名称] <字符串[]>] [-Verbose] [-Debug] [-ErrorAction] [-ErrorVariable <字符串>] [-OutVariable <字符串>] [-OutBuffer <的Int32>] Get-Process -Id
[-Verbose] [-Debug] [-ErrorAction] ] [-ErrorVariable <字符串>] [-OutVariable <字符串>] [-OutBuffer <的Int32>] Get-Process -InputObject
[-Verbose] [-Debug] [-ErrorAction] ] [-ErrorVariable <字符串>] [-OutVariable < 字符串>] [-OutBuffer <的Int32>]PS C:\>
常见的参数
由于命令从基类,一些导出常用的参数,对于所有cmdlet都可用,可以用来帮助为PowerShell cmdlet提供更一致的接口。表2.2描述了这些常用参数。
PowerShell通用参数
参数 |
数据类型 |
描述 |
详细的 |
布尔 |
生成有关操作的详细信息,很像跟踪或事务日志。此参数仅在生成详细数据的cmdlet是有效的。 |
调试 |
布尔 |
生成有关操作的程序员级别的详细信息。该cmdlet必须支持调试数据的生成此参数是有效的。 |
ErrorAction |
枚举 |
确定当发生错误时cmdlet如何响应。值是继续(默认),停止,SilentlyContinue和查询。 |
ErrorVariable |
串 |
指定一个变量,该变量在处理期间存储来自命令的错误。此变量是除…之外填充的美元的错误。 |
OutVariable |
串 |
指定在处理期间存储命令输出的变量。 |
OutBuffer |
INT32 |
确定在调用管道中的下一个小命令之前,对象缓存的数量。 |
尼塔 |
布尔 |
如果解释执行该命令会发生什么,但实际上并不执行命令。 |
确认 |
布尔 |
提示是否允许用户进行任何行动修改系统之前。 |
注意:表2.2中的后两个参数尼塔和确认的特殊之处在于,它们需要一个cmdlet来支持.NET方法为ShouldProcess,这可能不适合所有cmdlet如此。该为ShouldProcess方法确认该操作与用户执行操作之前发送所述资源的名称被改变确认。
获得帮助
当你开始使用PowerShell中的得到帮助和获取命令cmdlet的是有用的。这两个cmdlet,在下面的章节中描述,帮助你探索的PowerShell做什么,并帮助您了解更多,您可以运行命令。
得到帮助
正如你所期望的,可以使用得到帮助cmdlet检索有关cmdlet和其它主题的帮助信息。要显示的所有帮助主题列表,请输入得到帮助 *在PowerShell命令提示符处,如下面的示例所示。请注意,由于空间限制,该示例仅显示了所返回的可用主题的一个子集得到帮助。
PS C:\>求助*名称分类简介---- -------- --------AC别名添加内容ASNP别名添加-PSSnapinCLC别名清除内容CLI别名清除-项目clp别名Clear-ItemPropertyCLV别名清除变量cpi别名Copy-ItemCPP别名复制,ItemPropertycvpa别名转换路径DIFF别名比较,对象EPAL别名出口,别名epcsv别名出口-CSVFC别名格式自定义FL别名格式列表foreach别名ForEach-Object...PS C:\>
为了缩小通过返回的条目列表得到帮助,您可以通过主题名称和类别过滤缩短。例如,要获取所有cmdlet的列表开始与动词得到,尝试在下面的示例中示出的命令:
PS C:\>获取帮助-Name GET-* - 类别cmdlet的名称分类简介---- -------- --------Get-Command Cmdlet获取基本信息…获取帮助Cmdlet显示信息a…GET-历史cmdlet获取的COM的列表...Get-PSSnapin Cmdlet获得Windows电源…GET-的EventLog cmdlet获取信息...Get-ChildItem Cmdlet获取项目和chi…获取内容cmdlet获取的次内容......PS C:\>
在您选择了帮助主题之后,您可以通过使用主题名称作为参数来检索帮助信息得到帮助小命令。例如,要检索帮助获取内容小命令,输入以下命令:
PS C:\>获取帮助获取内容
注意:PowerShell有两个参数得到帮助cmdlet:-详细和-充分。该-详细参数显示有关cmdlet的其他信息,包括的参数的描述和使用的小命令的示例。该-充分参数显示整个帮助文件cmdlet的,包括有关参数的技术信息。
Cmdlet帮助主题
PowerShell帮助为每个cmdlet分成几个部分。表2.3描述了每个cmdlet的帮助细节。
表2.3 PowerShell帮助部分
帮助部分 |
描述 |
名称 |
cmdlet的名称。 |
剧情简介 |
的cmdlet的功能的简要描述。 |
详细描述 |
详细的该cmdlet的行为的描述,通常包括用法示例。 |
句法 |
使用cmdlet输入命令的具体使用细节。 |
参数 |
可以与此cmdlet一起使用的有效参数。 |
输入类型 |
输入的类型的此cmdlet接受。 |
返回类型 |
该类型的数据,该cmdlet返回的。 |
终止错误 |
如果存在,则标识导致cmdlet过早终止的任何错误。 |
非终止错误 |
识别在cmdlet运行时可能发生但不会导致cmdlet终止其操作的非关键错误。 |
笔记 |
使用小命令,包括具体的场景和可能的限制或特质附加详细信息。 |
例子 |
该cmdlet常见用法示例。 |
相关链接 |
引用执行类似的任务其他cmdlet。 |
获取命令
另一个有用的cmdlet的是获取命令,用于列出一个PowerShell会话的所有可用的cmdlet:
p C: \ > get命令CommandType名称定义----------- ---- ----------cmdlet的附加内容添加内容[-Path] <字符串[...cmdlet的附加历史则Add-History [-InputObject] ...cmdlet的加入会员加入会员[-MemberType]Cmdlet Add-PSSnapin Add-PSSnapin [-Name] 小命令清除内容清除内容[-Path] <〜应变...小命令清除-项目Clear-项目[-Path] <字符串[] ...Clear-ItemProperty [-Path] <…小命令清除变量清除变量[-Name] cmdlet的比较,比较的对象,对象[-ReferenceOb ......PS C:\>
该获取命令cmdlet的比更强大得到帮助因为它列出了在这个例子中显示在PowerShell会话所有可用的命令(cmdlet的,脚本,别名,函数和本地应用程序),:
PS C:\ GET命令注*CommandType名称定义----------- ---- ----------应用NOTEPAD.EXE C:\ WINDOWS \ NOTEPAD.EXE应用notepad.exe C:\WINDOWS\system32\ notepad.exePS C:\>
当使用获取命令比cmdlet的其他元素,返回的信息是从您所看到的cmdlet的信息不同。例如,与现有的应用程序,所述的值定义属性是应用程序路径。但是,有关应用程序的其他信息也可,如下所示: