前些文章陆续的说了一些关于这些主题,但是讨论的都不够深入,今天我们深入的了解一下获取帮助信息、管道以及格式化输出的内容。

一、获取帮助信息

  在PS中获取帮助信息,最常用的有: -? 、get-command和get-help。这三者获取的信息不是完全一致的,并且由于get-command和get-help是cmdlet;因此具有很多实用

的参数来帮助我们获取我们想要的信息。

1、1  -? 参数

  如果我们知道某个cmdlet的拼写,但是不知道他的用户,那么最快速的方法就是用:-? 参数。 例如:我们知道copy-item 这个cmdlet,但是不知道怎么使用它,那么我们可以通过

-? 参数来获取相关帮助。

Exp:

  1. PS C:\Users\vol_20120330> copy-item -?
  2.  
  3. 名称
  4. Copy-Item
  5.  
  6. 摘要
  7. 将项从一个位置复制到命名空间内的另一个位置。
  8.  
  9. 语法
  10. Copy-Item [-LiteralPath] <string[]> [[-Destination] <string>] [-Container]
  11. [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-For
  12. ce] [-Include <string[]>] [-PassThru] [-Recurse] [-Confirm] [-WhatIf] [-Use
  13. Transaction] [<CommonParameters>]
  14.  
  15. Copy-Item [-Path] <string[]> [[-Destination] <string>] [-Container] [-Crede
  16. ntial <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-I
  17. nclude <string[]>] [-PassThru] [-Recurse] [-Confirm] [-WhatIf] [-UseTransac
  18. tion] [<CommonParameters>]
  19.  
  20. 说明
  21. Copy-Item cmdlet 将项从一个位置复制到命名空间中的另一个位置。Copy-Item 不会删除所复制的项。该 cmdlet 可复制的特定项
  22. 取决于可用的 Windows PowerShell 提供程序。例如,与 FileSystem 提供程序一起使用时,它可以复制文件和目录;与 Regis
  23. try 提供程序一起使用时,它可以复制注册表项。
  24.  
  25. 相关链接
  26. Online version: http://go.microsoft.com/fwlink/?LinkID=113292
  27. about_Providers
  28. Clear-Item
  29. Get-Item
  30. Invoke-Item
  31. Move-Item
  32. Set-Item
  33. New-Item
  34. Remove-Item
  35. Rename-Item
  36.  
  37. 备注
  38. 若要查看示例,请键入: "get-help Copy-Item -examples".
  39. 有关详细信息,请键入: "get-help Copy-Item -detailed".
  40. 若要获取技术信息,请键入: "get-help Copy-Item -full".

  这样我们就可以获取相关的帮助信息,这里获取的信息比较有限,对参数没有进行具体的解释,一般使用于初步了解某个cmdlet。

1、2 获取命令的概要/摘要信息

  在PS中我们通过cmdlet  get-command 来获取命令的摘要信息。get-command有很多的参数可以使用。如下所示:

Exp:

  1. PS C:\Users\vol_20120330> get-help get-command -parameter *
  2.  
  3. -ArgumentList <Object[]>
  4. 获取 cmdlet 或函数在与指定的参数(如 path)一起使用时的信息。ArgumentList 的别名为 Args
  5.  
  6. 要检测在 cmdlet 与特定的提供程序一起使用时添加到 cmdlet 中的参数,请将 ArgumentList 的值设置为提供程序驱动器中的一条路径
  7. ,如“HKML\Software”或“cert:\my”。
  8.  
  9. 是否必需? False
  10. 位置? 2
  11. 默认值
  12. 是否接受管道输入? false
  13. 是否接受通配符? False
  14.  
  15. -CommandType <CommandTypes>
  16. 只获取指定类型的命令。使用“CommandType”或它的别名“Type”。默认情况下,Get-Command 获取 cmdlet 和函数。
  17.  
  18. 有效值包括:
  19. -- Alias:当前会话中的所有 Windows PowerShell 别名。
  20.  
  21. -- All:所有命令类型。它与“get-command *”等效。
  22.  
  23. -- Application:位于 Path 环境变量 ($env:path) 所列路径中的所有非 Windows-PowerShell 文件,例如
  24. .txt、.exe .dll 文件。
  25.  
  26. -- Cmdlet:当前会话中的 cmdlet。默认值为“Cmdlet”。
  27.  
  28. -- ExternalScript:位于 Path 环境变量 ($env:path) 所列路径中的全部 .ps1 文件。
  29.  
  30. -- Filter and Function:所有 Windows PowerShell 函数。
  31.  
  32. -- Script:当前会话中的脚本块。
  33.  
  34. 是否必需? False
  35. 位置? named
  36. 默认值
  37. 是否接受管道输入? true (ByPropertyName)
  38. 是否接受通配符? False
  39.  
  40. -Module <string[]>
  41. 获取源自指定模块或管理单元的命令。输入模块或管理单元的名称,或输入管理单元或模块对象。
  42.  
  43. 可以使用此参数的名称 Module 或其别名 PSSnapin 对其进行引用。选择的参数名称不会影响到命令或命令的输出。
  44.  
  45. 此参数接受字符串值,但您也可以提供 PSModuleInfo PSSnapinInfo 对象(如 Get-ModuleGet-PSSnapin
  46. Import-PSSession 返回的对象)。
  47.  
  48. 是否必需? False
  49. 位置? named
  50. 默认值
  51. 是否接受管道输入? true (ByPropertyName)
  52. 是否接受通配符? False
  53.  
  54. -Name <string[]>
  55. 只获取具有指定名称的 cmdlet 或命令元素的相关信息。<字符串> 表示 cmdlet 或命令元素的名称的全部或一部分。允许使用通配符。
  56.  
  57. 要按执行顺序列出具有相同名称的命令,请键入不含通配符的命令名称。有关详细信息,请参阅“注释”部分。
  58.  
  59. 是否必需? False
  60. 位置? 1
  61. 默认值
  62. 是否接受管道输入? true (ByValue, ByPropertyName)
  63. 是否接受通配符? False
  64.  
  65. -Noun <string[]>
  66. 获取名称包含指定名词的 cmdlet 和函数。<字符串> 表示一个或多个名词或名词模式,例如,“process”或“*item*”。允许使用通配符。
  67.  
  68. 是否必需? False
  69. 位置? named
  70. 默认值
  71. 是否接受管道输入? true (ByPropertyName)
  72. 是否接受通配符? False
  73.  
  74. -Syntax [<SwitchParameter>]
  75. 只获取有关命令元素的指定数据。
  76. * 对于别名,检索标准名称。
  77. * 对于 cmdlet,检索语法。
  78. * 对于函数和筛选器,检索函数定义。
  79. * 对于脚本和应用程序(文件),检索路径和文件名。
  80.  
  81. 是否必需? False
  82. 位置? named
  83. 默认值
  84. 是否接受管道输入? true (ByPropertyName)
  85. 是否接受通配符? False
  86.  
  87. -TotalCount <int>
  88. 只获取指定数量的命令元素。可使用此参数限制命令的输出。
  89.  
  90. 是否必需? False
  91. 位置? named
  92. 默认值
  93. 是否接受管道输入? true (ByPropertyName)
  94. 是否接受通配符? False
  95.  
  96. -Verb <string[]>
  97. 获取名称包含指定动词的 cmdlet 和函数的信息。<字符串> 表示一个或多个动词或动词模式,例如,“remove”或“*et”。允许使用通配符。
  98.  
  99. 是否必需? False
  100. 位置? named
  101. 默认值
  102. 是否接受管道输入? true (ByPropertyName)
  103. 是否接受通配符? False

  通过上面的信息我们知道get-command支持以下一些参数:noun、 verb、syntax、name、commandtype、totalcount等; 其中用的比较多的是前面5个。

例如我们可以利用下面的形式查询cmdlet。

       get-command  -noun  item

Exp:

  1. PS C:\Users\vol_20120330> get-command -noun item
  2.  
  3. CommandType Name Definition
  4. ----------- ---- ----------
  5. Cmdlet Clear-Item Clear-Item [-Path] <String[]...
  6. Cmdlet Copy-Item Copy-Item [-Path] <String[]>...
  7. Cmdlet Get-Item Get-Item [-Path] <String[]> ...
  8. Cmdlet Invoke-Item Invoke-Item [-Path] <String[...
  9. Cmdlet Move-Item Move-Item [-Path] <String[]>...
  10. Cmdlet New-Item New-Item [-Path] <String[]> ...
  11. Cmdlet Remove-Item Remove-Item [-Path] <String[...
  12. Cmdlet Rename-Item Rename-Item [-Path] <String>...
  13. Cmdlet Set-Item Set-Item [-Path] <String[]> ...

  可以利用-verb参数查询具有某个动词的cmdlet; 如利用下面的命令获取具有copy这个动词的cmdlet。

      get-command -verb  copy

Exp:

  1. PS C:\Users\vol_20120330> get-command -verb copy
  2.  
  3. CommandType Name Definition
  4. ----------- ---- ----------
  5. Cmdlet Copy-Item Copy-Item [-Path] <String[]>...
  6. Cmdlet Copy-ItemProperty Copy-ItemProperty [-Path] <S...

  利用syntax参数获取某个命令的语法,例如利用以下的命令获取set-location的语法

    get-command   -syntax     set-location

Exp:

  1. PS C:\Users\vol_20120330> get-command -syntax set-location
  2. Set-Location [[-Path] <String>] [-PassThru] [-Verbose] [-Debug] [-ErrorAction <
  3. ActionPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>
  4. ] [-WarningVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>] [-Us
  5. eTransaction]
  6. Set-Location [-LiteralPath] <String> [-PassThru] [-Verbose] [-Debug] [-ErrorAct
  7. ion <ActionPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <St
  8. ring>] [-WarningVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>]
  9. [-UseTransaction]
  10. Set-Location [-PassThru] [-StackName <String>] [-Verbose] [-Debug] [-ErrorActio
  11. n <ActionPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <Stri
  12. ng>] [-WarningVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>] [
  13. -UseTransaction]

  利用commandtype来查询特定类型的cmdlet。 例如我们利用下面的命令获取PS中支持的别名。

    get-command   -commandtype   alias    #这个命令相当于  get-alias 命令

Exp:

  1. PS C:\Users\vol_20120330> get-command -commandtype alias
  2.  
  3. CommandType Name Definition
  4. ----------- ---- ----------
  5. Alias % ForEach-Object
  6. Alias ? Where-Object
  7. Alias ac Add-Content
  8. Alias asnp Add-PSSnapIn
  9. Alias cat Get-Content
  10. Alias cd Set-Location
  11. Alias chdir Set-Location
  12. Alias clc Clear-Content
  13. Alias clear Clear-Host
  14. Alias clhy Clear-History
  15. Alias cli Clear-Item
  16. Alias clp Clear-ItemProperty
  17. Alias cls Clear-Host
  18. Alias clv Clear-Variable
  19. Alias compare Compare-Object
  20. Alias copy Copy-Item
  21. Alias cp Copy-Item
  22. Alias cpi Copy-Item
  23. Alias cpp Copy-ItemProperty
  24. Alias cvpa Convert-Path
  25. Alias dbp Disable-PSBreakpoint
  26. Alias del Remove-Item
  27. Alias diff Compare-Object
  28. Alias dir Get-ChildItem
  29. Alias ebp Enable-PSBreakpoint
  30. Alias echo Write-Output
  31. Alias epal Export-Alias
  32. Alias epcsv Export-Csv
  33. Alias epsn Export-PSSession
  34. Alias erase Remove-Item
  35. Alias etsn Enter-PSSession
  36. Alias exsn Exit-PSSession
  37. Alias fc Format-Custom
  38. Alias fl Format-List
  39. Alias foreach ForEach-Object
  40. Alias ft Format-Table
  41. Alias fw Format-Wide
  42. Alias gal Get-Alias
  43. Alias gbp Get-PSBreakpoint
  44. Alias gc Get-Content
  45. Alias gci Get-ChildItem
  46. Alias gcm Get-Command
  47. Alias gcs Get-PSCallStack
  48. Alias gdr Get-PSDrive
  49. Alias ghy Get-History
  50. Alias gi Get-Item
  51. Alias gjb Get-Job
  52. Alias gl Get-Location
  53. Alias gm Get-Member
  54. Alias gmo Get-Module
  55. Alias gp Get-ItemProperty
  56. Alias gps Get-Process
  57. Alias group Group-Object
  58. Alias gsn Get-PSSession
  59. Alias gsnp Get-PSSnapIn
  60. Alias gsv Get-Service
  61. Alias gu Get-Unique
  62. Alias gv Get-Variable
  63. Alias gwmi Get-WmiObject
  64. Alias h Get-History
  65. Alias history Get-History
  66. Alias icm Invoke-Command
  67. Alias iex Invoke-Expression
  68. Alias ihy Invoke-History
  69. Alias ii Invoke-Item
  70. Alias ipal Import-Alias
  71. Alias ipcsv Import-Csv
  72. Alias ipmo Import-Module
  73. Alias ipsn Import-PSSession
  74. Alias ise powershell_ise.exe
  75. Alias iwmi Invoke-WMIMethod
  76. Alias kill Stop-Process
  77. Alias lp Out-Printer
  78. Alias ls Get-ChildItem
  79. Alias man help
  80. Alias md mkdir
  81. Alias measure Measure-Object
  82. Alias mi Move-Item
  83. Alias mount New-PSDrive
  84. Alias move Move-Item
  85. Alias mp Move-ItemProperty
  86. Alias mv Move-Item
  87. Alias nal New-Alias
  88. Alias ndr New-PSDrive
  89. Alias ni New-Item
  90. Alias nmo New-Module
  91. Alias nsn New-PSSession
  92. Alias nv New-Variable
  93. Alias ogv Out-GridView
  94. Alias oh Out-Host
  95. Alias popd Pop-Location
  96. Alias ps Get-Process
  97. Alias pushd Push-Location
  98. Alias pwd Get-Location
  99. Alias r Invoke-History
  100. Alias rbp Remove-PSBreakpoint
  101. Alias rcjb Receive-Job
  102. Alias rd Remove-Item
  103. Alias rdr Remove-PSDrive
  104. Alias ren Rename-Item
  105. Alias ri Remove-Item
  106. Alias rjb Remove-Job
  107. Alias rm Remove-Item
  108. Alias rmdir Remove-Item
  109. Alias rmo Remove-Module
  110. Alias rni Rename-Item
  111. Alias rnp Rename-ItemProperty
  112. Alias rp Remove-ItemProperty
  113. Alias rsn Remove-PSSession
  114. Alias rsnp Remove-PSSnapin
  115. Alias rv Remove-Variable
  116. Alias rvpa Resolve-Path
  117. Alias rwmi Remove-WMIObject
  118. Alias sajb Start-Job
  119. Alias sal Set-Alias
  120. Alias saps Start-Process
  121. Alias sasv Start-Service
  122. Alias sbp Set-PSBreakpoint
  123. Alias sc Set-Content
  124. Alias select Select-Object
  125. Alias set Set-Variable
  126. Alias si Set-Item
  127. Alias sl Set-Location
  128. Alias sleep Start-Sleep
  129. Alias sort Sort-Object
  130. Alias sp Set-ItemProperty
  131. Alias spjb Stop-Job
  132. Alias spps Stop-Process
  133. Alias spsv Stop-Service
  134. Alias start Start-Process
  135. Alias sv Set-Variable
  136. Alias swmi Set-WMIInstance
  137. Alias tee Tee-Object
  138. Alias type Get-Content
  139. Alias where Where-Object
  140. Alias wjb Wait-Job
  141. Alias write Write-Output

1、3 获取详细帮助

  在PS中可以通过get-help cmdlet获取详细的帮助信息,首先我们来看一下get-help命令支持的参数。

Exp:

  1. PS C:\Users\vol_20120330> get-help get-help -parameter *
  2.  
  3. -Category <string[]>
  4. 显示指定类别中项的帮助。有效值为 AliasCmdletProvider HelpFile。概念性主题在 HelpFile 类别中。
  5.  
  6. Category Get-Help 返回的 MamlCommandHelpInfo 对象的一个属性。此参数不影响概念性(“about_”)帮助的显
  7. 示。
  8.  
  9. 是否必需? False
  10. 位置? named
  11. 默认值
  12. 是否接受管道输入? false
  13. 是否接受通配符? False
  14.  
  15. -Component <string[]>
  16. 显示具有指定的组件值(例如“Exchange”)的工具的列表。输入组件名。允许使用通配符。
  17.  
  18. Component Get-Help 返回的 MamlCommandHelpInfo 对象的一个属性。此参数不影响概念性(“About_”)帮助的
  19. 显示。
  20.  
  21. 是否必需? False
  22. 位置? named
  23. 默认值
  24. 是否接受管道输入? false
  25. 是否接受通配符? False
  26.  
  27. -Detailed [<SwitchParameter>]
  28. 将参数说明以及示例添加到基本的帮助显示中。
  29.  
  30. 此参数不影响概念性(“About_”)帮助的显示。
  31.  
  32. 是否必需? False
  33. 位置? named
  34. 默认值
  35. 是否接受管道输入? false
  36. 是否接受通配符? False
  37.  
  38. -Examples [<SwitchParameter>]
  39. 只显示名称、摘要和示例。要只显示示例,请键入“(get-help <cmdlet-name>).examples”。
  40.  
  41. 此参数不影响概念性(“About_”)帮助的显示。
  42.  
  43. 是否必需? False
  44. 位置? named
  45. 默认值
  46. 是否接受管道输入? false
  47. 是否接受通配符? False
  48.  
  49. -Full [<SwitchParameter>]
  50. 显示一个 cmdlet 的完整帮助文件,其中包括参数说明和属性、示例、输入和输出对象类型以及附加注释。
  51.  
  52. 此参数不影响概念性(“About_”)帮助的显示。
  53.  
  54. 是否必需? False
  55. 位置? named
  56. 默认值
  57. 是否接受管道输入? false
  58. 是否接受通配符? False
  59.  
  60. -Functionality <string[]>
  61. 显示具有指定功能的项的帮助。输入功能。允许使用通配符。
  62.  
  63. Functionality Get-Help 返回的 MamlCommandHelpInfo 对象的一个属性。此参数不影响概念性(“About_
  64. )帮助的显示。
  65.  
  66. 是否必需? False
  67. 位置? named
  68. 默认值
  69. 是否接受管道输入? false
  70. 是否接受通配符? False
  71.  
  72. -Name <string>
  73. 请求有关指定的工具或概念性主题的帮助。输入 cmdlet、提供程序、脚本或函数名称(如 Get-Member)、概念性主题名称(如“about_Obj
  74. ects”)或别名(如“ls”)。在 cmdlet 和提供程序名称中允许使用通配符,但不能使用通配符查找函数帮助和脚本帮助主题的名称。
  75.  
  76. 若要为不在 Path 环境变量中所列出的路径中的脚本获取帮助,请键入该脚本的路径和文件名。
  77.  
  78. 如果您输入的正好是帮助主题的名称,Get-Help 将显示主题内容。如果您输入了出现在若干个帮助主题标题中的字或字图,Get-Help 将显示匹配标题
  79. 的列表。如果您输入的字不匹配任何帮助主题标题,Get-Help 将显示内容包括该字的主题的列表。
  80.  
  81. 概念主题的名称(如 about_Objects)必须用英文输入,即使在非英文版的 Windows PowerShell 中也是如此。
  82.  
  83. 是否必需? False
  84. 位置? 1
  85. 默认值
  86. 是否接受管道输入? true (ByPropertyName)
  87. 是否接受通配符? False
  88.  
  89. -Online [<SwitchParameter>]
  90. 在默认的 Internet 浏览器中显示帮助主题的联机版本。此参数仅适用于 cmdlet、函数和脚本帮助主题。
  91.  
  92. Get-Help 使用显示在 cmdlet、函数或脚本帮助主题的“相关链接”部分的第一个项中的 Internet 地址(统一资源标识符 [URI])。
  93. 仅当帮助主题包含以“Http”或“Https”开头的 URI 并且系统上已安装 Internet 浏览器时,此参数才适用。
  94.  
  95. 有关在您编写的帮助主题中支持该功能的信息,请参阅 about_Comment_Based_Help,另请参阅 MSDN (Microsoft Deve
  96. loper Network) Library 中的“如何编写 Cmdlet 帮助”,网址是 http://go.microsoft.com/fwlin
  97. k/?LinkID=123415
  98.  
  99. 是否必需? False
  100. 位置? named
  101. 默认值
  102. 是否接受管道输入? false
  103. 是否接受通配符? False
  104.  
  105. -Parameter <string>
  106. 只显示指定参数的详细说明。允许使用通配符。
  107.  
  108. 此参数不影响概念性(“About_”)帮助的显示。
  109.  
  110. 是否必需? False
  111. 位置? named
  112. 默认值
  113. 是否接受管道输入? false
  114. 是否接受通配符? False
  115.  
  116. -Path <string>
  117. 获取说明 cmdlet 如何在指定的提供程序路径中工作的帮助。输入 Windows PowerShell 提供程序路径。
  118.  
  119. 此参数获取 cmdlet 帮助主题的自定义版本,该帮助主题说明 cmdlet 如何在指定的 Windows PowerShell 提供程序路径中工作。
  120. 此参数仅对于有关提供程序 cmdlet 的帮助有效,并且仅当该提供程序包括自定义版本的提供程序 cmdlet 帮助主题时才有效。
  121.  
  122. 要查看提供程序路径的自定义 cmdlet 帮助,请转到提供程序路径位置并输入 Get-Help 命令,或者从任意路径位置使用 Get-Help P
  123. ath 参数来指定提供程序路径。有关详细信息,请参阅 about_Providers
  124.  
  125. 是否必需? False
  126. 位置? named
  127. 默认值
  128. 是否接受管道输入? false
  129. 是否接受通配符? False
  130.  
  131. -Role <string[]>
  132. 显示为指定的用户角色自定义的帮助。输入一个角色。允许使用通配符。
  133.  
  134. 输入用户在组织中担任的职位。某些 cmdlet 可以根据此参数的值在其帮助文件中显示不同的文本。此参数不影响核心 cmdlet 的帮助。
  135.  
  136. 是否必需? False
  137. 位置? named
  138. 默认值
  139. 是否接受管道输入? false
  140. 是否接受通配符? False

  可以发现get-help支持的参数比较多,一般应用比较多的有:  full、detailed、examples、category、parameter、online。下面我们简单的介绍这些参数。

1、3、1 full参数

  full  参数用于获取某个命令的全部帮助信息,通过这个参数可以对一个命令完全掌握。这里不举例了。

1、3、2  detailed参数

  detailed 参数用于获取某个命令的详细信息,但是提供的信息没有full参数多。

Exp:

  1. PS C:\Users\vol_20120330> get-help get-help -detailed
  2.  
  3. 名称
  4. Get-Help
  5.  
  6. 摘要
  7. 显示有关 Windows PowerShell 命令和概念的信息。
  8.  
  9. 语法
  10. Get-Help [-Full] [[-Name] <string>] [-Category <string[]>] [-Component <str
  11. ing[]>] [-Functionality <string[]>] [-Online] [-Path <string>] [-Role <stri
  12. ng[]>] [<CommonParameters>]
  13.  
  14. Get-Help [-Detailed] [[-Name] <string>] [-Category <string[]>] [-Component
  15. <string[]>] [-Functionality <string[]>] [-Online] [-Path <string>] [-Role <
  16. string[]>] [<CommonParameters>]
  17.  
  18. Get-Help [-Examples] [[-Name] <string>] [-Category <string[]>] [-Component
  19. <string[]>] [-Functionality <string[]>] [-Online] [-Path <string>] [-Role <
  20. string[]>] [<CommonParameters>]
  21.  
  22. Get-Help [-Parameter <string>] [[-Name] <string>] [-Category <string[]>] [-
  23. Component <string[]>] [-Functionality <string[]>] [-Online] [-Path <string>
  24. ] [-Role <string[]>] [<CommonParameters>]
  25.  
  26. 说明
  27. Get-Help cmdlet 显示有关 Windows PowerShell 概念和命令(包括 cmdlet、提供程序、函数和脚本)的信息。要获取所
  28. cmdlet 帮助主题标题的列表,请键入“get-help *”。
  29.  
  30. 如果键入“Get-Help”并在其后键入帮助主题的确切名称或某个帮助主题特有的字,Get-Help 会显示该主题的内容。如果您输入了出现在若干个帮助主
  31. 题标题中的字或字图,Get-Help 将显示匹配标题的列表。如果输入的字未出现在任何帮助主题标题中,Get-Help 将显示内容中包括该字的主题的列表
  32.  
  33. 除“get-help”外,还可以键入“help”或“man”(一次显示一屏文本),或者键入“<cmdlet-name> -?”(与 Get-Help
  34. 相同,但只适用于 cmdlet)。
  35.  
  36. 可以显示完整的帮助文件,或其中的选定部分,如语法、参数或示例。还可使用 Online 参数在 Internet 浏览器中显示帮助文件的联机版本。这些参
  37. 数对概念性帮助主题没有影响。
  38.  
  39. Windows PowerShell 中的概念性帮助主题以“about_”开头,如“about_Comparison_Operators”。要查看所有
  40. about_”主题,请键入“get-help about_*”。要查看特定主题,请键入“get-help about_<主题名>”,如“get-he
  41. lp about_Comparison_Operators”。
  42.  
  43. 参数
  44. -Category <string[]>
  45. 显示指定类别中项的帮助。有效值为 AliasCmdletProvider HelpFile。概念性主题在 HelpFile 类别中。
  46.  
  47. Category Get-Help 返回的 MamlCommandHelpInfo 对象的一个属性。此参数不影响概念性(“about_”)
  48. 帮助的显示。
  49.  
  50. -Component <string[]>
  51. 显示具有指定的组件值(例如“Exchange”)的工具的列表。输入组件名。允许使用通配符。
  52.  
  53. Component Get-Help 返回的 MamlCommandHelpInfo 对象的一个属性。此参数不影响概念性(“About_
  54. )帮助的显示。
  55.  
  56. -Detailed [<SwitchParameter>]
  57. 将参数说明以及示例添加到基本的帮助显示中。
  58.  
  59. 此参数不影响概念性(“About_”)帮助的显示。
  60.  
  61. -Examples [<SwitchParameter>]
  62. 只显示名称、摘要和示例。要只显示示例,请键入“(get-help <cmdlet-name>).examples”。
  63.  
  64. 此参数不影响概念性(“About_”)帮助的显示。
  65.  
  66. -Full [<SwitchParameter>]
  67. 显示一个 cmdlet 的完整帮助文件,其中包括参数说明和属性、示例、输入和输出对象类型以及附加注释。
  68.  
  69. 此参数不影响概念性(“About_”)帮助的显示。
  70.  
  71. -Functionality <string[]>
  72. 显示具有指定功能的项的帮助。输入功能。允许使用通配符。
  73.  
  74. Functionality Get-Help 返回的 MamlCommandHelpInfo 对象的一个属性。此参数不影响概念性(“Abo
  75. ut_”)帮助的显示。
  76.  
  77. -Name <string>
  78. 请求有关指定的工具或概念性主题的帮助。输入 cmdlet、提供程序、脚本或函数名称(如 Get-Member)、概念性主题名称(如“about
  79. _Objects”)或别名(如“ls”)。在 cmdlet 和提供程序名称中允许使用通配符,但不能使用通配符查找函数帮助和脚本帮助主题的名称。
  80.  
  81. 若要为不在 Path 环境变量中所列出的路径中的脚本获取帮助,请键入该脚本的路径和文件名。
  82.  
  83. 如果您输入的正好是帮助主题的名称,Get-Help 将显示主题内容。如果您输入了出现在若干个帮助主题标题中的字或字图,Get-Help 将显示
  84. 匹配标题的列表。如果您输入的字不匹配任何帮助主题标题,Get-Help 将显示内容包括该字的主题的列表。
  85.  
  86. 概念主题的名称(如 about_Objects)必须用英文输入,即使在非英文版的 Windows PowerShell 中也是如此。
  87.  
  88. -Online [<SwitchParameter>]
  89. 在默认的 Internet 浏览器中显示帮助主题的联机版本。此参数仅适用于 cmdlet、函数和脚本帮助主题。
  90.  
  91. Get-Help 使用显示在 cmdlet、函数或脚本帮助主题的“相关链接”部分的第一个项中的 Internet 地址(统一资源标识符 [UR
  92. I])。仅当帮助主题包含以“Http”或“Https”开头的 URI 并且系统上已安装 Internet 浏览器时,此参数才适用。
  93.  
  94. 有关在您编写的帮助主题中支持该功能的信息,请参阅 about_Comment_Based_Help,另请参阅 MSDN (Microsoft
  95. Developer Network) Library 中的“如何编写 Cmdlet 帮助”,网址是 http://go.microsoft.c
  96. om/fwlink/?LinkID=123415
  97.  
  98. -Parameter <string>
  99. 只显示指定参数的详细说明。允许使用通配符。
  100.  
  101. 此参数不影响概念性(“About_”)帮助的显示。
  102.  
  103. -Path <string>
  104. 获取说明 cmdlet 如何在指定的提供程序路径中工作的帮助。输入 Windows PowerShell 提供程序路径。
  105.  
  106. 此参数获取 cmdlet 帮助主题的自定义版本,该帮助主题说明 cmdlet 如何在指定的 Windows PowerShell 提供程序路径
  107. 中工作。此参数仅对于有关提供程序 cmdlet 的帮助有效,并且仅当该提供程序包括自定义版本的提供程序 cmdlet 帮助主题时才有效。
  108.  
  109. 要查看提供程序路径的自定义 cmdlet 帮助,请转到提供程序路径位置并输入 Get-Help 命令,或者从任意路径位置使用 Get-Help
  110. Path 参数来指定提供程序路径。有关详细信息,请参阅 about_Providers
  111.  
  112. -Role <string[]>
  113. 显示为指定的用户角色自定义的帮助。输入一个角色。允许使用通配符。
  114.  
  115. 输入用户在组织中担任的职位。某些 cmdlet 可以根据此参数的值在其帮助文件中显示不同的文本。此参数不影响核心 cmdlet 的帮助。
  116.  
  117. <CommonParameters>
  118. cmdlet 支持通用参数: VerboseDebug
  119. ErrorActionErrorVariableWarningActionWarningVariable
  120. OutBuffer OutVariable。有关详细信息,请键入
  121. get-help about_commonparameters”。
  122.  
  123. -------------------------- 示例 1 --------------------------
  124.  
  125. C:\PS>get-help
  126.  
  127. 说明
  128. -----------
  129. 此命令显示有关 Windows PowerShell 帮助系统的帮助。
  130.  
  131. -------------------------- 示例 2 --------------------------
  132.  
  133. C:\PS>get-help *
  134.  
  135. 说明
  136. -----------
  137. 此命令显示 Windows PowerShell 帮助系统中的所有帮助文件的列表。
  138.  
  139. -------------------------- 示例 3 --------------------------
  140.  
  141. C:\PS>get-help get-alias
  142.  
  143. C:\PS>help get-alias
  144.  
  145. C:\PS>get-alias -?
  146.  
  147. 说明
  148. -----------
  149. 这些命令显示有关 get-alias cmdlet 的基本信息。“Get-Help”和“-?”命令在单个页面上显示信息。“Help”命令一次一个页面地
  150. 显示信息。
  151.  
  152. -------------------------- 示例 4 --------------------------
  153.  
  154. C:\PS>get-help about_*
  155.  
  156. 说明
  157. -----------
  158. 此命令显示 Windows PowerShell 帮助中包括的概念主题的列表。所有这些主题都以字符“about_”开始。若要显示特定帮助文件,请键入“
  159. get-help <主题名称>”,例如,“get-help about_signing”。
  160.  
  161. -------------------------- 示例 5 --------------------------
  162.  
  163. C:\PS>get-help ls -detailed
  164.  
  165. 说明
  166. -----------
  167. 此命令通过指定 Get-ChildItem cmdlet 的一个别名“ls”来显示其详细帮助。Detailed 参数请求帮助文件的详细视图,包括参数描
  168. 述和示例。若要查看 cmdlet 的完整的帮助文件,请使用 Full 参数。
  169.  
  170. -------------------------- 示例 6 --------------------------
  171.  
  172. C:\PS>get-help format-string -full
  173.  
  174. 说明
  175. -----------
  176. 此命令显示 Format-String cmdlet 的完整视图帮助。帮助的完整视图包括参数说明、示例,以及有关参数的详细技术信息的表。
  177.  
  178. -------------------------- 示例 7 --------------------------
  179.  
  180. C:\PS>get-help start-service -examples
  181.  
  182. 说明
  183. -----------
  184. 此命令显示在 Windows PowerShell 命令中使用 start-service 的示例。
  185.  
  186. -------------------------- 示例 8 --------------------------
  187.  
  188. C:\PS>get-help get-childitem -parameter f*
  189.  
  190. 说明
  191. -----------
  192. 此命令显示以“f”开始的 Get-ChildItem cmdlet 的参数(filter force)的说明。有关所有参数的说明,请键入“get-
  193. help get-childitem parameter*”。
  194.  
  195. -------------------------- 示例 9 --------------------------
  196.  
  197. C:\PS>(get-help write-output).syntax
  198.  
  199. 说明
  200. -----------
  201. 此命令只显示 Write-Output cmdlet 的语法。
  202.  
  203. 语法是帮助对象的许多属性之一;其他是描述、详细信息、示例和参数。若要查找帮助对象的所有属性和方法,请键入“get-help <cmdlet-name>
  204. | get-member”;例如,“get-help start-service | get member”。
  205.  
  206. -------------------------- 示例 10 --------------------------
  207.  
  208. C:\PS>(get-help trace-command).alertset
  209.  
  210. 说明
  211. -----------
  212. 此命令显示该 cmdlet 的相关注释。注释存储在帮助对象的 alertSet 属性中。
  213.  
  214. 注释包括概念性信息和使用 cmdlet 的提示。默认情况下,只有使用 Get-Help Full 参数时才会显示注释,但也可使用 alertSet
  215. 属性显示它们。
  216.  
  217. -------------------------- 示例 11 --------------------------
  218.  
  219. C:\PS>get-help add-member -full | out-string -stream | select-string -patte
  220. rn clixml
  221.  
  222. 说明
  223. -----------
  224. 此示例说明如何搜索特定的 cmdlet 帮助主题中的字。此命令在 Add-Member cmdlet 的完整版帮助主题中搜索字“clixml”。
  225.  
  226. 因为 Get-Help cmdlet 生成的是 MamlCommandHelpInfo 对象,而不是字符串,所以需要使用将帮助主题内容转换为字符串的命
  227. 令,如 Out-String Out-File
  228.  
  229. -------------------------- 示例 12 --------------------------
  230.  
  231. C:\PS>get-help get-member -online
  232.  
  233. 说明
  234. -----------
  235. 此命令显示 Get-Member cmdlet 的联机版帮助主题。
  236.  
  237. -------------------------- 示例 13 --------------------------
  238.  
  239. C:\PS>get-help remoting
  240.  
  241. 说明
  242. -----------
  243. 此命令显示内容中包含单词“remoting”一字的主题的列表。
  244.  
  245. 如果输入的字未出现在任何主题标题中,Get-Help 将显示包括该字的主题列表。
  246.  
  247. -------------------------- 示例 14 --------------------------
  248.  
  249. C:\PS>get-help get-item -path SQLSERVER:\DataCollection
  250.  
  251. NAME
  252. Get-Item
  253.  
  254. SYNOPSIS
  255. Gets a collection of Server objects for the local computer and any comp
  256. uters to which you have made a SQL Server PowerShell connection.
  257. ...
  258.  
  259. C:\PS> cd SQLSERVER:\DataCollection
  260. C:\PS> SQLSERVER:\DataCollection> get-help get-item
  261.  
  262. NAME
  263. Get-Item
  264.  
  265. SYNOPSIS
  266. Gets a collection of Server objects for the local computer and any comp
  267. uters to which you have made a SQL Server PowerShell connection.
  268. ...
  269.  
  270. C:\PS> Get-Item
  271.  
  272. NAME
  273. Get-Item
  274.  
  275. SYNOPSIS
  276. Gets the item at the specified location.
  277.  
  278. ...
  279.  
  280. 说明
  281. -----------
  282. 此示例说明如何获取 Get-Item cmdlet 的帮助,了解如何在 Windows PowerShell SQL Server 提供程序的 Dat
  283. aCollection 节点中使用该 cmdlet
  284.  
  285. 该示例演示了获取 Get-Item 的自定义帮助的两种方式。
  286.  
  287. 第一条命令使用 Get-Help Path 参数来指定提供程序路径。可以在任意路径位置输入此命令。
  288.  
  289. 第二条命令使用 Set-Location cmdlet(别名为“cd”)来转到提供程序路径。从该位置,即使不使用 Path 参数,Get-Help
  290. 令也会获取该提供程序路径的自定义帮助。
  291.  
  292. 第三条命令说明了文件系统路径中的 Get-Help 命令在不使用 Path 参数的情况下,获取 Get-Item cmdlet 的标准帮助。
  293.  
  294. -------------------------- 示例 15 --------------------------
  295.  
  296. C:\PS>get-help c:\ps-test\MyScript.ps1
  297.  
  298. 说明
  299. -----------
  300. 此命令获取 MyScript.ps1 脚本的帮助。有关如何编写函数和脚本的帮助的信息,请参阅 about_Comment_Based_Help
  301.  
  302. 备注
  303. 若要查看示例,请键入: "get-help Get-Help -examples".
  304. 有关详细信息,请键入: "get-help Get-Help -detailed".
  305. 若要获取技术信息,请键入: "get-help Get-Help -full".
  306.  
  307. ____________________________________________________________________________

1、3、3  examples参数

  examples 参数用来获取某个命令的实例信息。

Exp:

  1. PS C:\Users\vol_20120330> get-help -examples set-executionpolicy
  2.  
  3. 名称
  4. Set-ExecutionPolicy
  5.  
  6. 摘要
  7. 更改 Windows PowerShell 执行策略的用户首选项。
  8.  
  9. -------------------------- 示例 1 --------------------------
  10.  
  11. C:\PS>set-executionpolicy remotesigned
  12.  
  13. 说明
  14. -----------
  15. 此命令将 shell 执行策略的用户首选项设置为 RemoteSigned
  16.  
  17. -------------------------- 示例 2 --------------------------
  18.  
  19. C:\PS>Set-ExecutionPolicy Restricted
  20.  
  21. Set-ExecutionPolicy : Windows PowerShell updated your local preference succ
  22. essfully, but the setting is overridden by the group policy applied to your
  23. system. Due to the override, your shell will retain its current effective
  24. execution policy of "AllSigned". Contact your group policy administrator fo
  25. r more information.
  26. At line:1 char:20
  27. + set-executionpolicy <<<< restricted
  28.  
  29. 说明
  30. -----------
  31. 此命令尝试将 shell 的执行策略设置为“Restricted”。向注册表中写入了“Restricted”设置,但是,由于它与组策略冲突,因此该设置
  32. 无效,即使该设置比组策略的限制更严格也是如此。
  33.  
  34. -------------------------- 示例 3 --------------------------
  35.  
  36. C:\PS>invoke-command -computername Server01 -scriptblock {get-executionpoli
  37. cy} | set-executionpolicy -force
  38.  
  39. 说明
  40. -----------
  41. 此命令从远程计算机获取执行策略并将该策略应用于本地计算机。
  42.  
  43. 此命令使用 Invoke-Command cmdlet 向远程计算机发送命令。由于可以通过管道将 ExecutionPolicy (Microsoft
  44. .PowerShell.ExecutionPolicy) 对象传递到 Set-ExecutionPolicy,因此此命令不需要 ExecutionPo
  45. licy 参数。
  46.  
  47. 该命令具有 Force 参数,该参数可禁止显示用户提示。
  48.  
  49. -------------------------- 示例 4 --------------------------
  50.  
  51. C:\PS>set-executionpolicy -scope CurrentUser -executionPolicy AllSigned -fo
  52. rce
  53.  
  54. C:\PS> get-executionpolicy -list
  55.  
  56. Scope ExecutionPolicy
  57. ----- ---------------
  58. MachinePolicy Undefined
  59. UserPolicy Undefined
  60. Process Undefined
  61. CurrentUser AllSigned
  62. LocalMachine RemoteSigned
  63.  
  64. C:\PS> get-executionpolicy
  65. AllSigned
  66.  
  67. 说明
  68. -----------
  69. 此示例演示如何设置特定作用域的执行策略。
  70.  
  71. 第一个命令使用 Set-ExecutionPolicy cmdlet 设置当前用户的 AllSigned 的执行策略。它使用 Force 参数禁止显示
  72. 用户提示。
  73.  
  74. 第二个命令使用 Get-ExecutionPolicy List 参数获取每个作用域中设置的执行策略。结果显示,为当前用户设置的执行策略不同于为计
  75. 算机的所有用户设置的执行策略。
  76.  
  77. 第三个命令使用不带参数的 Get-ExecutionPolicy cmdlet 获取本地计算机上的当前用户的有效执行策略。结果证明,为当前用户设置的执
  78. 行策略优先于为所有用户设置的执行策略。
  79.  
  80. -------------------------- 示例 5 --------------------------
  81.  
  82. C:\PS>set-executionpolicy -scope CurrentUser -executionPolicy Undefined
  83.  
  84. 说明
  85. -----------
  86. 此命令使用执行策略值 Undefined 有效删除为当前用户作用域设置的执行策略。结果,在组策略或 LocalMachine(所有用户)作用域中设置的
  87. 执行策略是有效的。
  88.  
  89. 如果将所有作用域中的执行策略设置为 Undefined 并且未设置组策略,则默认的执行策略 Restricted 对计算机的所有用户都是有效的。

1、3、4  category参数

  category参数用来获取某一类cmdlet,有点类似于get-command  -commandtype 命令。

Exp:

  1. PS C:\Users\vol_20120330> get-help -category alias
  2.  
  3. Name Category Synopsis
  4. ---- -------- --------
  5. ac Alias Add-Content
  6. asnp Alias Add-PSSnapin
  7. clc Alias Clear-Content
  8. cli Alias Clear-Item
  9. clp Alias Clear-ItemProperty
  10. clv Alias Clear-Variable
  11. compare Alias Compare-Object
  12. cpi Alias Copy-Item

1、3、5  parameter参数

  parameter 参数用来获取某个cmdlet的某个指定的参数帮助信息。

Exp:

  1. PS C:\Users\vol_20120330> get-help get-help -parameter parameter
  2.  
  3. -Parameter <string>
  4. 只显示指定参数的详细说明。允许使用通配符。
  5.  
  6. 此参数不影响概念性(“About_”)帮助的显示。
  7.  
  8. 是否必需? False
  9. 位置? named
  10. 默认值
  11. 是否接受管道输入? false
  12. 是否接受通配符? False

1、3、6  online参数

  online参数用来通过互联网获取某个cmdlet的帮助信息。

Exp:

  get-help  -online   get-process   #这个命令通过互联网获取get-process的帮助信息

1、4  获取概念性帮助

  PS中帮助系统提供了一整套的帮助文件和信息来提供PS中的概念性信息,我们可以通过get-help  about_* 来获取PS中提供的概念性帮助主题;下面我们通过一个命令来获取

执行提供程序段相关帮助信息。

Exp:

  1. ____________________________________________________________________________
  2. PS C:\Users\vol_20120330> get-help about_providers
  3. 主题
  4. about_Providers
  5.  
  6. 简短说明
  7. 描述 Windows PowerShell 提供程序如何使用户能够访问在无这些提供程序时很难从命令行访问的
  8. 数据和组件。数据以类似于文件系统驱动器的一致格式提供。
  9.  
  10. 详细说明
  11. Windows PowerShell 提供程序是基于 Microsoft .NET Framework 的程序,它们使存储于专
  12. 用数据存储中的数据在 Windows PowerShell 中可用,以便于您查看和管理这些数据。
  13.  
  14. 提供程序公开的数据存储在驱动器中,您可以像在硬盘驱动器上一样通过路径访问这些数据。可以使用
  15. 提供程序支持的任何内置 cmdlet 管理提供程序驱动器中的数据。此外,可以使用专门针对这些数据设计
  16. 的自定义 cmdlet
  17.  
  18. 提供程序在内置 cmdlet 中添加动态参数。只有当 cmdlet 与提供程序数据一起使用时,这些参数才可用。
  19.  
  20. 内置提供程序
  21. Windows PowerShell 包括一组内置提供程序,它们可以用于访问不同类型的数据存储。
  22.  
  23. 提供程序 驱动器 数据存储
  24. ----------------- ------------ ------------------------------
  25. Alias Alias: Windows PowerShell 别名
  26.  
  27. 证书用于数字签名的 Cert: x509 证书
  28.  
  29. EnvironmentWindows Env: 环境变量
  30.  
  31. FileSystem * 文件系统驱动器、目录和文件
  32.  
  33. Function Function: Windows PowerShell 函数
  34.  
  35. Registry HKLM:, HKCU Windows 注册表
  36.  
  37. Variable Variable: Windows PowerShell 变量
  38.  
  39. WS-Management WSMan WS-Management 配置信息
  40.  
  41. * FileSystem 驱动器因系统而异。
  42.  
  43. 您还可以创建自己的 Windows PowerShell 提供程序,也可以安装他人开发的提供程序。若要列出会话
  44. 中可用的提供程序,请键入:
  45.  
  46. get-psprovider
  47.  
  48. 安装和删除提供程序
  49. Windows PowerShell 提供程序在 Windows PowerShell 管理单元中提供给您使用,这些管理单
  50. 元是编译为 .dll 文件的基于 .NET Framework 的程序。这些管理单元可以包含提供程序和
  51. cmdlet
  52.  
  53. 在使用提供程序功能之前,必须先安装包含该提供程序的管理单元,然后将该管理单元添加到 Windows
  54. PowerShell 控制台。有关详细信息,请参阅 about_PsSnapins
  55.  
  56. 不能在当前会话中卸载提供程序,但可以移除提供程序的 Windows PowerShell 管理单元。如果这样
  57. 做,则将移除该管理单元的所有内容,包括其 cmdlet
  58.  
  59. 若要从当前会话中移除提供程序,请使用 Remove-PsSnapin cmdlet。此 cmdlet 不会卸载提供程
  60. 序,但它将使该提供程序在会话中不可用。
  61.  
  62. 还可以使用 Remove-PsDrive cmdlet 从当前会话中移除任何驱动器。驱动器上的数据不会受影响,
  63. 但该驱动器在该会话中不再可用。
  64.  
  65. 查看提供程序
  66. 若要查看计算机上的 Windows PowerShell 提供程序,请键入:
  67.  
  68. get-psprovider
  69.  
  70. 输出将列出内置的提供程序以及您添加到会话中的提供程序。
  71.  
  72. 提供程序 CMDLET
  73. 下面的 cmdlet 用于处理由任何提供程序公开的数据。可以使用相同的 cmdlet,以相同的方式来管理提
  74. 供程序公开的不同类型的数据。在学会管理一个提供程序的数据后,就可以使用相同的过程来管理任何提
  75. 供程序中的数据。
  76.  
  77. 例如,New-Item cmdlet 用于创建一个新项。在 FileSystem 提供程序支持的 C: 驱动器中,可
  78. 以使用 New-Item 来创建新的文件或文件夹。在 Registry 提供程序支持的驱动器中,可以使用
  79. New-Item 来创建新的注册表项。在 Alias: 驱动器中,可以使用 New-Item 来创建新的别名。
  80.  
  81. 有关以下任何 cmdlet 的详细信息,请键入:
  82.  
  83. get-help <cmdlet-name> -detailed
  84.  
  85. CHILDITEM CMDLET
  86. Get-ChildItem
  87.  
  88. CONTENT CMDLET
  89. Add-Content
  90. Clear-Content
  91. Get-Content
  92. Set-Content
  93.  
  94. ITEM CMDLET
  95. Clear-Item
  96. Copy-Item
  97. Get-Item
  98. Invoke-Item
  99. Move-Item
  100. New-Item
  101. Remove-Item
  102. Rename-Item
  103. Set-Item
  104.  
  105. ITEMPROPERTY CMDLET
  106. Clear-ItemProperty
  107. Copy-ItemProperty
  108. Get-ItemProperty
  109. Move-ItemProperty
  110. New-ItemProperty
  111. Remove-ItemProperty
  112. Rename-ItemProperty
  113. Set-ItemProperty
  114.  
  115. LOCATION CMDLET
  116. Get-Location
  117. Pop-Location
  118. Push-Location
  119. Set-Location
  120.  
  121. PATH CMDLET
  122. Join-Path
  123. Convert-Path
  124. Split-Path
  125. Resolve-Path
  126. Test-Path
  127.  
  128. PSDRIVE CMDLET
  129. Get-PSDrive
  130. New-PSDrive
  131. Remove-PSDrive
  132.  
  133. PSPROVIDER CMDLET
  134. Get-PSProvider
  135.  
  136. 查看提供程序数据
  137. 提供程序的主要优点是,它可以按人们所熟悉的且一致的方式来公开其数据。用于显示数据的模型是文件系统驱动器。
  138.  
  139. 若要使用提供程序所公开的数据,可以将该数据视为硬盘驱动器中的数据来对其进行查看、
  140. 浏览和更改。因此,有关提供程序的最重要信息是它所支持的驱动器的名称。
  141.  
  142. 驱动器在 Get-PsProvider cmdlet 的默认显示中列出,但是可以使用 Get-PsDrive cmdlet 来获
  143. 取有关该提供程序驱动器的信息。例如,若要获取 Function: 驱动器的所有属性,请键入:
  144.  
  145. get-psdrive Function | format-list *
  146.  
  147. 可以像在文件系统驱动器中一样查看和浏览提供程序驱动器中的数据。
  148.  
  149. 若要查看提供程序驱动器的内容,请使用 Get-Item Get-ChildItem cmdlet。键入
  150. 驱动器名称,后跟一个冒号 (:)。例如,若要查看 Alias: 驱动器的内容,请键入:
  151.  
  152. get-item alias:
  153.  
  154. 可以从一个驱动器中查看和管理任何其他驱动器中的数据。例如,若要从另一个
  155. 驱动器查看 HKLM: 驱动器中的 HKLM\Software 注册表项,请键入:
  156.  
  157. get-childitem hklm:\software
  158.  
  159. 若要打开驱动器,请使用 Set-Location cmdlet。请记住,指定驱动器路径
  160. 时要包含冒号。例如,若要将位置更改为 Cert: 驱动器的根目录,请键入:
  161.  
  162. set-location cert:
  163.  
  164. 然后,若要查看 Cert: 驱动器的内容,请键入:
  165.  
  166. get-childitem
  167.  
  168. 浏览分层数据
  169. 可以像浏览硬盘驱动一样浏览提供程序驱动器。如果数据位于项目内的
  170. 项目层次结构中,请使用反斜杠 (\) 来指示子项。使用下面的格式:
  171.  
  172. drive:\location\child-location\...
  173.  
  174. 例如,若要将位置更改到 HKLM\Software 注册表项,请键入 Set-Location 命令,例如:
  175.  
  176. set-location hklm:\software
  177.  
  178. 还可以使用位置的相对引用。点 (.) 表示当前位置。例如,如果您在 HKLM:\Software\Microsoft
  179. 册表项中,并且要列出 HKLM:\Software\Micrsoft\PowerShell 项中的注册表子项,请键入以下命令:
  180.  
  181. get-childitem .\powershell
  182.  
  183. 查找动态参数
  184. 动态参数是由提供程序添加到 cmdlet cmdlet 参数。这些参数只有
  185. cmdlet 与添加它们的提供程序一起使用时才可用。
  186.  
  187. 例如,Cert: 驱动器将 CodeSigningCert 参数添加到 Get-Item Get-ChildItem
  188. cmdlet。只有在 Cert: 启动器中使用 Get-Item Get-ChildItem 时,才可以使用此参数。
  189.  
  190. 若要查看提供程序所支持的动态参数的列表,请参阅提供程序的"帮助"文件。键入:
  191.  
  192. get-help <provider-name>
  193.  
  194. 例如:
  195.  
  196. get-help certificate
  197.  
  198. 了解提供程序
  199. 虽然所有提供程序数据都出现在驱动器中,并且可以使用相同方法来浏览它们,
  200. 但它们之间的相似性只有这些。提供程序所公开的数据存储多种多样,可以是
  201. Active Directory 位置,也可以是 Microsoft Exchange Server 邮箱。
  202.  
  203. 有关各个 Windows PowerShell 提供程序的信息,请键入:
  204.  
  205. get-help <ProviderName>
  206.  
  207. 例如:
  208.  
  209. get-help registry
  210.  
  211. 如需获得有关提供程序的帮助主题的列表,请键入:
  212.  
  213. get-help * -category provider
  214.  
  215. 另请参阅
  216. about_Locations
  217. about_Path_Syntax

1、5  获取提供程序的帮助

  我们知道cmdlet都有一个提供程序来支持,同时整个系统的驱动器系统需要提供程序的支持。我们可以通过下面的命令来获取系统中提供程序的概要信息。

Exp:

  1. PS C:\Users\vol_20120330> get-help -category provider
  2.  
  3. Name Category Synopsis
  4. ---- -------- --------
  5. WSMan Provider 提供对 Web Services for Management ...
  6. Alias Provider 提供对 Windows PowerShell 别名以及它们所表示...
  7. Environment Provider 提供对 Windows 环境变量的访问。
  8. FileSystem Provider 提供对文件和目录的访问。
  9. Function Provider 提供对 Windows PowerShell 中所定义函数的访问。
  10. Registry Provider 提供从 Windows PowerShell 对系统注册表项和注...
  11. Variable Provider 提供对 Windows PowerShell 变量及其值的访问。
  12. Certificate Provider 提供对 X.509 证书存储和对 Windows PowerSh...

  通过上面的命令我们知道,系统中主要提供了: wsman、 alias、enviroment、filesystem、function、registry、variable和certificate共8中提供程序。我们可以

通过下面的命令形式获取不同的程序提供者的信息:

      get-help   提供程序名

Exp:

  1. PS C:\Users\vol_20120330> get-help -name certificate
  2.  
  3. 提供程序名称
  4. Certificate
  5.  
  6. 驱动器
  7. Cert:
  8.  
  9. 摘要
  10. 提供对 X.509 证书存储和对 Windows PowerShell 中的证书的访问。
  11.  
  12. 说明
  13. Windows PowerShell 安全策略支持使用 Authenticode 签名和 X.509 编码的数字公钥证书对脚本进行签名。Windows
  14. PowerShell 的签名功能并不完整,但这些功能允许用户对脚本进行签名,并允许 Windows PowerShell 识别已签名和未签名的脚本,
  15. 以及确定脚本是否源自 Internet
  16.  
  17. Windows PowerShell 证书提供程序允许您在证书命名空间中进行导航并查看证书存储和证书。它还允许您复制、移动和删除证书和证书存储,并在
  18. Microsoft 管理控制台 (MMC) 中打开证书管理单元。
  19.  
  20. 证书提供程序在 Windows PowerShell 中将证书命名空间公开为 Cert: 驱动器。Cert: 驱动器具有以下三个级别:
  21.  
  22. -- 存储位置 (Microsoft.PowerShell.Commands.X509StoreLocation),它是对当前用户和所有用户证书进行分
  23. 组的高级容器。每个系统具有一个 CurrentUser LocalMachine(所有用户)存储位置。
  24.  
  25. -- 证书存储区 (System.Security.Cryptography.X509Certificates.X509Store),它是保存和管理证
  26. 书的物理存储区。
  27.  
  28. -- X.509 证书 (System.Security.Cryptography.X509Certificates.X509Certificate2
  29. ),其中每个证书表示计算机上的一个 X.509 证书。证书通过证书指纹进行识别。
  30.  
  31. Windows PowerShell 证书提供程序支持 Set-LocationGet-LocationGet-ItemGet-ChildIte
  32. m Invoke-Item cmdlet
  33.  
  34. 另外,包括证书提供程序的 Windows PowerShell 安全性管理单元 (Microsoft.PowerShell.Security) 还包括
  35. 获取和设置 Authenticode 签名和获取证书的管理单元。要获取安全性管理单元中的 cmdlet 列表,请键入“get-command -mod
  36. ule *security”。
  37.  
  38. 功能
  39.  
  40. 任务
  41. 任务: Cert: 驱动器中导航
  42.  
  43. -------------------------- 示例 1 --------------------------
  44.  
  45. 此命令使用 Set-Location cmdlet 更改 Cert: 驱动器的当前位置。
  46.  
  47. set-location cert:
  48.  
  49. -------------------------- 示例 2 --------------------------
  50.  
  51. 此命令使用 Set-Location 命令将当前位置更改为 LocalMachine 存储位置中的 Root 证书存储。使用反斜杠 (\)
  52. 正斜杠 (/) 指示 Cert: 驱动器的级别。
  53.  
  54. set-location -path LocalMachine\Root
  55.  
  56. 如果您不在 Cert: 驱动器中,请在路径前面添加驱动器名称。
  57.  
  58. 任务: 显示 Cert: 驱动器的内容
  59.  
  60. -------------------------- 示例 1 --------------------------
  61.  
  62. 此命令使用 Get-ChildItem cmdlet 显示 CurrentUser 证书存储位置中的证书存储。
  63.  
  64. get-childitem -path cert:\CurrentUser
  65.  
  66. 如果您位于 Cert: 驱动器中,则可以省略驱动器名称。
  67. -------------------------- 示例 2 --------------------------
  68.  
  69. 此命令使用 Get-ChildItem cmdlet 显示 My 证书存储中的证书。
  70.  
  71. get-childitem -path cert:\CurrentUser\My
  72.  
  73. 如果您位于 Cert: 驱动器中,则可以省略驱动器名称。
  74. -------------------------- 示例 3 --------------------------
  75.  
  76. 此命令使用 Get-Item cmdlet 获取“My”证书存储,并使用 Format-List 带通配符 (*) Property 参数
  77. 来显示存储的所有属性。
  78.  
  79. get-item -path cert:\CurrentUser\My | format-list *
  80.  
  81. -------------------------- 示例 4 --------------------------
  82.  
  83. 此命令获取证书并显示证书的所有属性。它使用 Get-ChildItem cmdlet 获取证书,并使用 Format-List 带通配符 (*
  84. ) Property 参数来显示证书的所有属性。
  85.  
  86. 证书通过证书指纹进行识别。
  87.  
  88. get-childitem -path cert:\CurrentUser\my\6B8223358119BB08840DEE50FD8AF9
  89. EA776CE66B | format-list -property *
  90.  
  91. -------------------------- 示例 5 --------------------------
  92.  
  93. 此命令使用 Get-ChildItem cmdlet 获取计算机上的所有证书,并使用其 CodeSigningCert 动态参数来仅获取具有代
  94. 码签名颁发机构的证书。
  95.  
  96. get-childitem -path * -codesigningcert -recurse
  97.  
  98. 任务: 打开 MMC 证书管理单元
  99.  
  100. -------------------------- 示例 1 --------------------------
  101.  
  102. 此命令打开 MMC 证书管理单元来管理指定的证书。
  103.  
  104. invoke item cert:\CurrentUser\my\6B8223358119BB08840DEE50FD8AF9EA776CE6
  105. 6B
  106.  
  107. 动态参数
  108. -CodeSigningCert <System.Management.Automation.SwitchParameter>
  109. 仅获取那些具有代码签名颁发机构的证书。
  110.  
  111. 支持的 cmdlet: Get-Item, Get-ChildItem
  112.  
  113. 注释
  114.  
  115. 相关链接
  116. about_Providers
  117. about_Signing
  118. Get-AuthenticodeSignature
  119. Set-AuthenticodeSignature
  120. Get-PfxCertificate
  121.  
  122. ______________________________________

1、6  获取脚本或者函数的相关帮助信息

  通过get-help cmdlet可以获取脚本和函数的相关帮组信息。其命令格式为:

      get-help    函数名

      get-helpl    脚本路径\脚本文件名

Exp:

  1. PS C:\Users\vol_20120330> get-help a:
  2. A:

  注意: get-help  * 不能获取脚本、函数的帮助信息。

二、 管道和对象成员

2、1  管道

  在各种现代的shell中,均支持管道的概念。 管道的最大特点就是:  前一个命令的输出作为后一个命令的输入。cmd、bash均支持管道的概念,这里我就不多说了,下面我们说说PS中

管道的概念。

  在PS中,继承了cmd管道符号的表示方法:  |   表管道;但是PS与cmd的管道有本质的区别, cmd中的管道传递的是文本信息,而PS中传递的是对象,因此PS中的管道更加易于使用

和管理。

  例如:   get-location cmdlet命令返回的是一个pathinfo对象,这个对象是一个信息包,信息包中包含了相关的信息。

2、2 对象成员

  基于面向对象的概念,对象具有属性和方法;这些都可以认为是对象的成员, PS对象均具有众多的成员,为了查看这些成员,PS提供了一个获取对象成员的cmdlet: get-member。

我们可以利用get-member获取对象的成员信息。

Exp:

  1. PS C:\Users\vol_20120330> get-location | get-member
  2.  
  3. TypeName: System.Management.Automation.PathInfo
  4.  
  5. Name MemberType Definition
  6. ---- ---------- ----------
  7. Equals Method bool Equals(System.Object obj)
  8. GetHashCode Method int GetHashCode()
  9. GetType Method type GetType()
  10. ToString Method string ToString()
  11. Drive Property System.Management.Automation.PSDriveInfo Drive {get;}
  12. Path Property System.String Path {get;}
  13. Provider Property System.Management.Automation.ProviderInfo Provider {...
  14. ProviderPath Property System.String ProviderPath {get;}

  我们可以查看一下get-member支持那些参数:

  1. PS C:\Users\vol_20120330> get-help -parameter * get-member
  2.  
  3. -Force [<SwitchParameter>]
  4. 向显示内容中添加固有成员(PSBasePSAdaptedPSObjectPSTypeNames)以及编译器生成的 get_ set_ 方法。
  5. 默认情况下,Get-Member 会在除“Base”和“Adapted”之外的所有视图中获取这些属性,但不会显示它们。
  6.  
  7. 下面的列表描述了使用 Force 参数时添加的属性:
  8.  
  9. -- PSBase:.NET Framework 对象的原始属性,无任何扩展或改编。这些是为对象类定义的属性并列在 MSDN 中。
  10. -- PSAdapted:在 Windows PowerShell 扩展类型系统中定义的属性和方法。
  11. -- PSExtended:在 Types.ps1xml 文件中添加的或使用 Add-Member cmdlet 添加的属性和方法。
  12. -- PSObject:将基对象转换为 Windows PowerShell PSObject 对象的适配器。
  13. -- PSTypeNames:按专指性顺序描述对象的对象类型的列表。设置对象格式时,Windows PowerShell 会在 Windows Pow
  14. erShell 安装目录 ($pshome) 下的 Format.ps1xml 文件中搜索类型。它将使用找到的第一个类型的格式定义。
  15.  
  16. 是否必需? False
  17. 位置? named
  18. 默认值
  19. 是否接受管道输入? false
  20. 是否接受通配符? False
  21.  
  22. -InputObject <psobject>
  23. 指定将检索其成员的对象。
  24.  
  25. 使用 InputObject 参数与通过管道将对象传递到 Get-Member 不同。区别如下:
  26.  
  27. -- 通过管道将对象集合传递到 Get-Member 时,Get-Member 会获取集合中单个对象的成员,如整数数组中整数的属性。
  28.  
  29. -- 使用 InputObject 提交对象集合时,Get-Member 会获取集合的成员,如整数数组中数组的属性。
  30.  
  31. 是否必需? False
  32. 位置? named
  33. 默认值
  34. 是否接受管道输入? true (ByValue)
  35. 是否接受通配符? False
  36.  
  37. -MemberType <PSMemberTypes>
  38. 仅获取具有指定成员类型的成员。默认值为 All
  39.  
  40. 此参数的有效值为:
  41.  
  42. -- AliasProperty:一种可为现有属性定义新名称的属性。
  43. -- CodeMethod:一种可引用 .NET Framework 类的静态方法的方法。
  44. -- CodeProperty:一种可引用 .NET Framework 类的静态属性的属性。
  45. -- Event:指示对象将发送消息来指示某项操作或状态更改。
  46. -- MemberSet:属性和方法的预定义集合,如 PSBasePSObject PSTypeNames
  47. -- Method:基础 .NET Framework 对象的方法。
  48. -- NoteProperty:具有静态值的属性。
  49. -- ParameterizedProperty:具有参数和参数值的属性。
  50. -- Property:基础 .NET Framework 对象的属性。
  51. -- PropertySet:对象属性的预定义集合。
  52. -- ScriptMethod:其值是脚本输出的方法。
  53. -- ScriptProperty:其值是脚本输出的属性。
  54.  
  55. -- All:获取全部成员类型。
  56. -- Methods:获取对象的所有方法类型(如 MethodCodeMethodScriptMethod)。
  57. -- Properties:获取对象的所有类型的属性(如 PropertyCodePropertyAliasPropertyScriptProp
  58. erty)。
  59.  
  60. 并非所有对象都具有成员的全部类型。如果您指定该对象所不具有的成员类型,则 Windows PowerShell 会返回 null 值。
  61.  
  62. 若要获取相关类型的成员(如所有扩展成员),请使用 View 参数。如果将 MemberType 参数与 Static View 参数一起使用,Ge
  63. t-Member 将获取同时属于这两个集合的成员。
  64.  
  65. 是否必需? False
  66. 位置? named
  67. 默认值
  68. 是否接受管道输入? false
  69. 是否接受通配符? False
  70.  
  71. -Name <string[]>
  72. 指定对象的一个或多个属性或方法的名称。Get-Member 仅获取指定的属性和方法。
  73.  
  74. 如果将 Name 参数与 MemberTypeView Static 参数一起使用,Get-Member 将仅获取满足所有参数条件的成员。
  75.  
  76. 若要根据名称获取静态成员,请将 Static 参数与 Name 参数一起使用。
  77.  
  78. 是否必需? False
  79. 位置? 1
  80. 默认值
  81. 是否接受管道输入? false
  82. 是否接受通配符? False
  83.  
  84. -Static [<SwitchParameter>]
  85. 仅获取对象的静态属性和方法。
  86.  
  87. 将在对象的类上定义静态属性和方法,而不是在类的任何特定实例上定义。
  88.  
  89. 如果将 Static 参数与 View 参数一起使用,将忽略 View 参数。如果将 Static 参数与 MemberType 参数一起使用,Get
  90. -Member 将仅获取同时属于这两个集合的成员。
  91.  
  92. 是否必需? False
  93. 位置? named
  94. 默认值
  95. 是否接受管道输入? false
  96. 是否接受通配符? False
  97.  
  98. -View <PSMemberViewTypes>
  99. 仅获取特定类型的成员(属性和方法)。指定一个或多个值。默认值是“Adapted, Extended”。
  100.  
  101. 有效值包括:
  102. -- Base:仅获取 .NET Framework 对象的原始属性和方法(无任何扩展或改编)。
  103. -- Adapted:仅获取 Windows PowerShell 扩展类型系统中定义的属性和方法。
  104. -- Extended:仅获取在 Types.ps1xml 文件中添加的或使用 Add-Member cmdlet 添加的属性和方法。
  105. -- All:获取 BaseAdapted Extended 视图中的成员。
  106.  
  107. View 参数确定检索到的成员,而不只是这些成员的显示方式。
  108.  
  109. 若要获取特定成员类型(如脚本属性),请使用 MemberType 参数。如果在同一命令中使用 MemberType View 参数,Get-Mem
  110. ber 将获取同时属于这两个集合的成员。如果在同一命令中使用 Static View 参数,将忽略 View 参数。
  111.  
  112. 是否必需? False
  113. 位置? named
  114. 默认值
  115. 是否接受管道输入? false
  116. 是否接受通配符? False

  可以发现get-member cmdlet支持:force、inputobject、membertype、name、static、view这些参数。 下面我们简要的利用一下这些参数

Exp:获取对象的静态方法和属性

  1. PS C:\Users\vol_20120330> get-location | get-member -static
  2.  
  3. TypeName: System.Management.Automation.PathInfo
  4.  
  5. Name MemberType Definition
  6. ---- ---------- ----------
  7. Equals Method static bool Equals(System.Object objA, System.Obj...
  8. ReferenceEquals Method static bool ReferenceEquals(System.Object objA, S...

Exp: 获取对象的属性

  1. PS C:\Users\vol_20120330> get-location | get-member -membertype property
  2.  
  3. TypeName: System.Management.Automation.PathInfo
  4.  
  5. Name MemberType Definition
  6. ---- ---------- ----------
  7. Drive Property System.Management.Automation.PSDriveInfo Drive {get;}
  8. Path Property System.String Path {get;}
  9. Provider Property System.Management.Automation.ProviderInfo Provider {...
  10. ProviderPath Property System.String ProviderPath {get;}

Exp:获取对象特定的成员, 湖区.Net Framwork 的原始属性和方法

  1. PS C:\Users\vol_20120330> get-location | get-member -view base
  2.  
  3. TypeName: System.Management.Automation.PathInfo
  4.  
  5. Name MemberType Definition
  6. ---- ---------- ----------
  7. Equals Method bool Equals(System.Object obj)
  8. GetHashCode Method int GetHashCode()
  9. GetType Method type GetType()
  10. ToString Method string ToString()
  11. Drive Property System.Management.Automation.PSDriveInfo Drive {get;}
  12. Path Property System.String Path {get;}
  13. Provider Property System.Management.Automation.ProviderInfo Provider {...
  14. ProviderPath Property System.String ProviderPath {get;}

三、格式化输出

  前面的文章中提到过部分关于格式化的内容,这里进一步进行介绍。

  PS支持4个格式化cmdlet:  format-wide、 format-list、format-table、format-custom; 这里仅介绍前面三个。

  四个命令均需要管道输出对象作为输入;四个cmdlet均有默认的输出属性,如果不进行指定,则输出默认的属性。

3、1  format-wide  

  格式化命令默认输出不同数量的属性,format-wide默认仅输出一个默认属性。

Exp:

  1. PS C:\Users\vol_20120330> get-command | format-wide
  2.  
  3. % ?
  4. A: ac
  5. Add-Computer Add-Content
  6. Add-History Add-Member
  7. Add-PSSnapin Add-Type
  8. asnp B:
  9. C: cat
  10. cd cd..
  11. cd\ chdir
  12. Checkpoint-Computer clc
  13. clear Clear-Content
  14. Clear-EventLog Clear-History
  15. Clear-Host Clear-Item
  16. Clear-ItemProperty Clear-Variable
  17. clhy cli
  18. clp cls
  19. clv compare
  20. Compare-Object Complete-Transaction
  21. Connect-WSMan ConvertFrom-Csv
  22. ConvertFrom-SecureString ConvertFrom-StringData
  23. Convert-Path ConvertTo-Csv
  24. ConvertTo-Html ConvertTo-SecureString
  25. ConvertTo-Xml copy
  26. Copy-Item Copy-ItemProperty
  27. cp cpi
  28. cpp cvpa
  29. D: dbp
  30. Debug-Process del
  31. diff dir
  32. Disable-ComputerRestore Disable-PSBreakpoint
  33. Disable-PSRemoting Disable-PSSessionConfiguration
  34. Disable-WSManCredSSP Disconnect-WSMan
  35. E: ebp
  36. echo Enable-ComputerRestore
  37. Enable-PSBreakpoint Enable-PSRemoting
  38. Enable-PSSessionConfiguration Enable-WSManCredSSP
  39. Enter-PSSession epal
  40. epcsv epsn
  41. erase etsn
  42. Exit-PSSession Export-Alias
  43. Export-Clixml Export-Console
  44. Export-Counter Export-Csv
  45. Export-FormatData Export-ModuleMember
  46. Export-PSSession exsn
  47. F: fc
  48. fl foreach
  49. ForEach-Object Format-Custom
  50. Format-List Format-Table
  51. Format-Wide ft
  52. fw G:
  53. gal gbp
  54. gc gci
  55. gcm gcs
  56. gdr Get-Acl
  57. Get-Alias Get-AuthenticodeSignature
  58. Get-ChildItem Get-Command
  59. Get-ComputerRestorePoint Get-Content
  60. Get-Counter Get-Credential
  61. Get-Culture Get-Date
  62. Get-Event Get-EventLog
  63. Get-EventSubscriber Get-ExecutionPolicy
  64. Get-FormatData Get-Help
  65. Get-History Get-Host
  66. Get-HotFix Get-Item
  67. Get-ItemProperty Get-Job
  68. Get-Location Get-Member
  69. Get-Module Get-PfxCertificate
  70. Get-Process Get-PSBreakpoint
  71. Get-PSCallStack Get-PSDrive
  72. Get-PSProvider Get-PSSession
  73. Get-PSSessionConfiguration Get-PSSnapin
  74. Get-Random Get-Service
  75. Get-TraceSource Get-Transaction
  76. Get-UICulture Get-Unique
  77. Get-Variable Get-Verb
  78. Get-WinEvent Get-WmiObject
  79. Get-WSManCredSSP Get-WSManInstance
  80. ghy gi
  81. gjb gl
  82. gm gmo
  83. gp gps
  84. group Group-Object
  85. gsn gsnp
  86. gsv gu
  87. gv gwmi
  88. h H:
  89. help history
  90. I: icm
  91. iex ihy
  92. ii Import-Alias
  93. Import-Clixml Import-Counter
  94. Import-Csv Import-LocalizedData
  95. Import-Module Import-PSSession
  96. ImportSystemModules Invoke-Command
  97. Invoke-Expression Invoke-History
  98. Invoke-Item Invoke-WmiMethod
  99. Invoke-WSManAction ipal
  100. ipcsv ipmo
  101. ipsn ise
  102. iwmi J:
  103. Join-Path K:
  104. kill L:
  105. Limit-EventLog lp
  106. ls M:
  107. man md
  108. measure Measure-Command
  109. Measure-Object mi
  110. mkdir more
  111. mount move
  112. Move-Item Move-ItemProperty
  113. mp mv
  114. N: nal
  115. ndr New-Alias
  116. New-Event New-EventLog
  117. New-Item New-ItemProperty
  118. New-Module New-ModuleManifest
  119. New-Object New-PSDrive
  120. New-PSSession New-PSSessionOption
  121. New-Service New-TimeSpan
  122. New-Variable New-WebServiceProxy
  123. New-WSManInstance New-WSManSessionOption
  124. ni nmo
  125. nsn nv
  126. O: ogv
  127. oh Out-Default
  128. Out-File Out-GridView
  129. Out-Host Out-Null
  130. Out-Printer Out-String
  131. P: popd
  132. Pop-Location prompt
  133. ps psEdit
  134. pushd Push-Location
  135. pwd Q:
  136. r R:
  137. rbp rcjb
  138. rd rdr
  139. Read-Host Receive-Job
  140. Register-EngineEvent Register-ObjectEvent
  141. Register-PSSessionConfiguration Register-WmiEvent
  142. Remove-Computer Remove-Event
  143. Remove-EventLog Remove-Item
  144. Remove-ItemProperty Remove-Job
  145. Remove-Module Remove-PSBreakpoint
  146. Remove-PSDrive Remove-PSSession
  147. Remove-PSSnapin Remove-Variable
  148. Remove-WmiObject Remove-WSManInstance
  149. ren Rename-Item
  150. Rename-ItemProperty Reset-ComputerMachinePassword
  151. Resolve-Path Restart-Computer
  152. Restart-Service Restore-Computer
  153. Resume-Service ri
  154. rjb rm
  155. rmdir rmo
  156. rni rnp
  157. rp rsn
  158. rsnp rv
  159. rvpa rwmi
  160. S: sajb
  161. sal saps
  162. sasv sbp
  163. sc select
  164. Select-Object Select-String
  165. Select-Xml Send-MailMessage
  166. set Set-Acl
  167. Set-Alias Set-AuthenticodeSignature
  168. Set-Content Set-Date
  169. Set-ExecutionPolicy Set-Item
  170. Set-ItemProperty Set-Location
  171. Set-PSBreakpoint Set-PSDebug
  172. Set-PSSessionConfiguration Set-Service
  173. Set-StrictMode Set-TraceSource
  174. Set-Variable Set-WmiInstance
  175. Set-WSManInstance Set-WSManQuickConfig
  176. Show-EventLog si
  177. sl sleep
  178. sort Sort-Object
  179. sp spjb
  180. Split-Path spps
  181. spsv start
  182. Start-Job Start-Process
  183. Start-Service Start-Sleep
  184. Start-Transaction Start-Transcript
  185. Stop-Computer Stop-Job
  186. Stop-Process Stop-Service
  187. Stop-Transcript Suspend-Service
  188. sv swmi
  189. T: TabExpansion
  190. tee Tee-Object
  191. Test-ComputerSecureChannel Test-Connection
  192. Test-ModuleManifest Test-Path
  193. Test-WSMan Trace-Command
  194. type U:
  195. Undo-Transaction Unregister-Event
  196. Unregister-PSSessionConfiguration Update-FormatData
  197. Update-List Update-TypeData
  198. Use-Transaction V:
  199. W: Wait-Event
  200. Wait-Job Wait-Process
  201. where Where-Object
  202. wjb write
  203. Write-Debug Write-Error
  204. Write-EventLog Write-Host
  205. Write-Output Write-Progress
  206. Write-Verbose Write-Warning
  207. X: Y:
  208. Z:

   这里我们发现,format-wide仅输出了name项。那么我们如果要输出别的项怎么办呢? 此时可以利用format-wide的 -property。

Exp: 利用format-wide 的property参数输出comandtype信息。

  1. PS C:\Users\vol_20120330> get-command | format-wide -property commandtype
  2.  
  3. Alias Alias
  4. Function Alias
  5. Cmdlet Cmdlet
  6. Cmdlet Cmdlet
  7. Cmdlet Cmdlet
  8. Alias Function
  9. Function Alias
  10. Alias Function
  11. Function Alias
  12. Cmdlet Alias
  13. Alias Cmdlet
  14. Cmdlet Cmdlet
  15. Function Cmdlet
  16. Cmdlet Cmdlet
  17. Alias Alias
  18. Alias Alias
  19. Alias Alias
  20. Cmdlet Cmdlet
  21. Cmdlet Cmdlet
  22. Cmdlet Cmdlet
  23. Cmdlet Cmdlet
  24. Cmdlet Cmdlet
  25. Cmdlet Alias
  26. Cmdlet Cmdlet
  27. Alias Alias
  28. Alias Alias
  29. Function Alias
  30. Cmdlet Alias
  31. Alias Alias
  32. Cmdlet Cmdlet
  33. Function Cmdlet
  34. Cmdlet Cmdlet
  35. Function Alias
  36. Alias Cmdlet
  37. Cmdlet Cmdlet
  38. Cmdlet Cmdlet
  39. Cmdlet Alias
  40. Alias Alias
  41. Alias Alias
  42. Cmdlet Cmdlet
  43. Cmdlet Cmdlet
  44. Cmdlet Cmdlet
  45. Cmdlet Cmdlet
  46. Cmdlet Alias
  47. Function Alias
  48. Alias Alias
  49. Cmdlet Cmdlet
  50. Cmdlet Cmdlet
  51. Cmdlet Alias
  52. Alias Function
  53. Alias Alias
  54. Alias Alias
  55. Alias Alias
  56. Alias Cmdlet
  57. Cmdlet Cmdlet
  58. Cmdlet Cmdlet
  59. Cmdlet Cmdlet
  60. Cmdlet Cmdlet
  61. Cmdlet Cmdlet
  62. Cmdlet Cmdlet
  63. Cmdlet Cmdlet
  64. Cmdlet Cmdlet
  65. Cmdlet Cmdlet
  66. Cmdlet Cmdlet
  67. Cmdlet Cmdlet
  68. Cmdlet Cmdlet
  69. Cmdlet Cmdlet
  70. Cmdlet Cmdlet
  71. Cmdlet Cmdlet
  72. Cmdlet Cmdlet
  73. Cmdlet Cmdlet
  74. Cmdlet Cmdlet
  75. Cmdlet Cmdlet
  76. Cmdlet Cmdlet
  77. Cmdlet Function
  78. Cmdlet Cmdlet
  79. Cmdlet Cmdlet
  80. Alias Alias
  81. Alias Alias
  82. Alias Alias
  83. Alias Alias
  84. Alias Cmdlet
  85. Alias Alias
  86. Alias Alias
  87. Alias Alias
  88. Alias Function
  89. Function Alias
  90. Function Alias
  91. Alias Alias
  92. Alias Cmdlet
  93. Cmdlet Cmdlet
  94. Cmdlet Cmdlet
  95. Cmdlet Cmdlet
  96. Function Cmdlet
  97. Cmdlet Cmdlet
  98. Cmdlet Cmdlet
  99. Cmdlet Alias
  100. Alias Alias
  101. Alias Alias
  102. Alias Function
  103. Cmdlet Function
  104. Alias Function
  105. Cmdlet Alias
  106. Alias Function
  107. Alias Alias
  108. Alias Cmdlet
  109. Cmdlet Alias
  110. Function Function
  111. Alias Alias
  112. Cmdlet Cmdlet
  113. Alias Alias
  114. Function Alias
  115. Alias Cmdlet
  116. Cmdlet Cmdlet
  117. Cmdlet Cmdlet
  118. Cmdlet Cmdlet
  119. Cmdlet Cmdlet
  120. Cmdlet Cmdlet
  121. Cmdlet Cmdlet
  122. Cmdlet Cmdlet
  123. Cmdlet Cmdlet
  124. Alias Alias
  125. Alias Alias
  126. Function Alias
  127. Alias Cmdlet
  128. Cmdlet Cmdlet
  129. Cmdlet Cmdlet
  130. Cmdlet Cmdlet
  131. Function Alias
  132. Cmdlet Function
  133. Alias Function
  134. Alias Cmdlet
  135. Alias Function
  136. Alias Function
  137. Alias Alias
  138. Alias Alias
  139. Cmdlet Cmdlet
  140. Cmdlet Cmdlet
  141. Cmdlet Cmdlet
  142. Cmdlet Cmdlet
  143. Cmdlet Cmdlet
  144. Cmdlet Cmdlet
  145. Cmdlet Cmdlet
  146. Cmdlet Cmdlet
  147. Cmdlet Cmdlet
  148. Cmdlet Cmdlet
  149. Alias Cmdlet
  150. Cmdlet Cmdlet
  151. Cmdlet Cmdlet
  152. Cmdlet Cmdlet
  153. Cmdlet Alias
  154. Alias Alias
  155. Alias Alias
  156. Alias Alias
  157. Alias Alias
  158. Alias Alias
  159. Alias Alias
  160. Function Alias
  161. Alias Alias
  162. Alias Alias
  163. Alias Alias
  164. Cmdlet Cmdlet
  165. Cmdlet Cmdlet
  166. Alias Cmdlet
  167. Cmdlet Cmdlet
  168. Cmdlet Cmdlet
  169. Cmdlet Cmdlet
  170. Cmdlet Cmdlet
  171. Cmdlet Cmdlet
  172. Cmdlet Cmdlet
  173. Cmdlet Cmdlet
  174. Cmdlet Cmdlet
  175. Cmdlet Cmdlet
  176. Cmdlet Alias
  177. Alias Alias
  178. Alias Cmdlet
  179. Alias Alias
  180. Cmdlet Alias
  181. Alias Alias
  182. Cmdlet Cmdlet
  183. Cmdlet Cmdlet
  184. Cmdlet Cmdlet
  185. Cmdlet Cmdlet
  186. Cmdlet Cmdlet
  187. Cmdlet Cmdlet
  188. Alias Alias
  189. Function Function
  190. Alias Cmdlet
  191. Cmdlet Cmdlet
  192. Cmdlet Cmdlet
  193. Cmdlet Cmdlet
  194. Alias Function
  195. Cmdlet Cmdlet
  196. Cmdlet Cmdlet
  197. Cmdlet Cmdlet
  198. Cmdlet Function
  199. Function Cmdlet
  200. Cmdlet Cmdlet
  201. Alias Cmdlet
  202. Alias Alias
  203. Cmdlet Cmdlet
  204. Cmdlet Cmdlet
  205. Cmdlet Cmdlet
  206. Cmdlet Cmdlet
  207. Function Function
  208. Function

  我们还可以对format-wide的输出格式进一步进行格式化,可以指定输出的列数。

Exp: 通过colum参数指定输出的列数

  1. PS C:\Users\vol_20120330> get-command | format-wide -property commandtype -colum 6
  2.  
  3. Alias Alias Function Alias Cmdlet Cmdlet
  4. Cmdlet Cmdlet Cmdlet Cmdlet Alias Function
  5. Function Alias Alias Function Function Alias
  6. Cmdlet Alias Alias Cmdlet Cmdlet Cmdlet
  7. Function Cmdlet Cmdlet Cmdlet Alias Alias
  8. Alias Alias Alias Alias Cmdlet Cmdlet
  9. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  10. Cmdlet Cmdlet Cmdlet Alias Cmdlet Cmdlet
  11. Alias Alias Alias Alias Function Alias
  12. Cmdlet Alias Alias Alias Cmdlet Cmdlet
  13. Function Cmdlet Cmdlet Cmdlet Function Alias
  14. Alias Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  15. Cmdlet Alias Alias Alias Alias Alias
  16. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  17. Cmdlet Cmdlet Cmdlet Alias Function Alias
  18. Alias Alias Cmdlet Cmdlet Cmdlet Cmdlet
  19. Cmdlet Alias Alias Function Alias Alias
  20. Alias Alias Alias Alias Alias Cmdlet
  21. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  22. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  23. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  24. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  25. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  26. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  27. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Function
  28. Cmdlet Cmdlet Cmdlet Cmdlet Alias Alias
  29. Alias Alias Alias Alias Alias Alias
  30. Alias Cmdlet Alias Alias Alias Alias
  31. Alias Alias Alias Function Function Alias
  32. Function Alias Alias Alias Alias Cmdlet
  33. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  34. Function Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  35. Cmdlet Alias Alias Alias Alias Alias
  36. Alias Function Cmdlet Function Alias Function
  37. Cmdlet Alias Alias Function Alias Alias
  38. Alias Cmdlet Cmdlet Alias Function Function
  39. Alias Alias Cmdlet Cmdlet Alias Alias
  40. Function Alias Alias Cmdlet Cmdlet Cmdlet
  41. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  42. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  43. Cmdlet Cmdlet Alias Alias Alias Alias
  44. Function Alias Alias Cmdlet Cmdlet Cmdlet
  45. Cmdlet Cmdlet Cmdlet Cmdlet Function Alias
  46. Cmdlet Function Alias Function Alias Cmdlet
  47. Alias Function Alias Function Alias Alias
  48. Alias Alias Cmdlet Cmdlet Cmdlet Cmdlet
  49. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  50. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  51. Cmdlet Cmdlet Cmdlet Cmdlet Alias Cmdlet
  52. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  53. Cmdlet Alias Alias Alias Alias Alias
  54. Alias Alias Alias Alias Alias Alias
  55. Alias Alias Function Alias Alias Alias
  56. Alias Alias Alias Alias Cmdlet Cmdlet
  57. Cmdlet Cmdlet Alias Cmdlet Cmdlet Cmdlet
  58. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  59. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  60. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Alias
  61. Alias Alias Alias Cmdlet Alias Alias
  62. Cmdlet Alias Alias Alias Cmdlet Cmdlet
  63. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  64. Cmdlet Cmdlet Cmdlet Cmdlet Alias Alias
  65. Function Function Alias Cmdlet Cmdlet Cmdlet
  66. Cmdlet Cmdlet Cmdlet Cmdlet Alias Function
  67. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  68. Cmdlet Function Function Cmdlet Cmdlet Cmdlet
  69. Alias Cmdlet Alias Alias Cmdlet Cmdlet
  70. Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet Cmdlet
  71. Function Function Function

3、2 format-list

  format-list以列表的形式输出信息,这里主要介绍两个特点

3、2、1  format-list的 property参数可以指定输出的属性多少

Exp:

  1. PS C:\Users\vol_20120330> get-location | format-list
  2.  
  3. Drive : C
  4. Provider : Microsoft.PowerShell.Core\FileSystem
  5. ProviderPath : C:\Users\vol_20120330
  6. Path : C:\Users\vol_20120330

Exp:  通过property参数仅输出path属性

  1. PS C:\Users\vol_20120330> get-location | format-list -property path
  2.  
  3. Path : C:\Users\vol_20120330

3、2、2  利用 * 输出所有属性

PS C:\Users\vol_20120330> get-location | format-list -property *

Drive : C
Provider : Microsoft.PowerShell.Core\FileSystem
ProviderPath : C:\Users\vol_20120330
Path : C:\Users\vol_20120330

3、3  format-table

  format-table以表格的形式输出信息。

Exp:利用format-table格式化输出当前路径信息

  1. PS C:\Users\vol_20120330> get-location | format-table
  2.  
  3. Path
  4. ----
  5. C:\Users\vol_20120330

  乍一看,这个输出的信息量减少了, 其实这都是默认输出属性的原因,我们可以通过参数来控制输出。

Exp:

  1. ____________________________________________________________________________
  2. PS C:\Users\vol_20120330> get-process | format-table
  3.  
  4. Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
  5. ------- ------ ----- ----- ----- ------ -- -----------
  6. 117 5 4924 1540 111 0.02 2900 acrotray
  7. 131 5 15904 7696 45 1036 audiodg
  8. 185 9 11704 3036 119 1580 BSQLServer
  9. 135 11 35580 14872 155 13.88 3780 chrome
  10. 910 26 52736 85220 313 268.93 4316 chrome
  11. 139 21 195280 162376 307 251.61 4500 chrome
  12. 176 8 7316 3900 166 20.76 4772 chrome
  13. 158 16 94648 71892 213 104.15 4948 chrome
  14. 730 17 80972 42784 320 89.81 5760 chrome
  15. 122 5 3436 2244 122 0.12 2824 conhost
  16. 533 6 1408 1208 69 432 csrss
  17. 552 11 2292 9128 227 516 csrss
  18. 126 8 32976 17836 119 271.49 2628 dwm
  19. 170 9 5304 5260 139 0.94 2916 egui
  20. 382 15 74732 54832 172 1732 ekrn
  21. 780 39 31624 15112 263 31.54 2668 explorer
  22. 247 12 44640 25340 219 275.76 820 Foxit Reader
  23. 0 0 0 24 0 0 Idle
  24. 444 25 23444 16692 253 102.46 3848 iku
  25. 489 53 36164 29580 210 117.62 4016 ikuacc
  26. 328 14 8760 6084 197 0.51 3868 ikucmc
  27. 764 14 3400 3816 34 616 lsass
  28. 144 4 1516 1636 18 624 lsm
  29. 464 24 164724 130944 471 296.96 6084 powershell_ise
  30. 150 6 11892 3804 119 5604 PresentationFontCache
  31. 818 28 102380 28340 341 672.15 5944 QQPlayer
  32. 127 7 6732 2564 134 0.58 3456 rundll32
  33. 666 19 29068 17500 129 3656 SearchIndexer
  34. 269 9 5308 3900 44 564 services
  35. 33 1 316 300 4 328 smss
  36. 153 6 3268 3820 68 0.34 2952 SogouCloud
  37. 322 11 5160 3128 75 1412 spoolsv
  38. 381 15 44840 2944 1524 1808 sqlservr
  39. 87 4 1460 1452 30 1892 sqlwriter
  40. 374 7 3060 3224 43 732 svchost
  41. 339 10 3364 3156 31 812 svchost
  42. 512 13 14608 8320 63 904 svchost
  43. 718 20 50532 45520 135 936 svchost
  44. 1274 31 19076 14960 146 964 svchost
  45. 286 10 3636 2744 34 1112 svchost
  46. 463 17 11640 5816 68 1252 svchost
  47. 322 25 9780 5032 51 1500 svchost
  48. 105 4 1416 1388 29 1932 svchost
  49. 128 8 1904 1416 29 2300 svchost
  50. 236 12 3552 3188 66 2640 svchost
  51. 332 19 77552 8588 145 3088 svchost
  52. 218 8 11844 4432 133 58.50 2880 SynTPEnh
  53. 101 4 2504 1300 106 3572 SynTPHelper
  54. 125 5 5136 1268 110 0.05 3252 SynTPLpr
  55. 627 0 48 364 2 4 System
  56. 131 5 3004 7164 108 3840 taskeng
  57. 255 10 8252 3152 128 0.39 2788 taskhost
  58. 170 8 4720 9868 71 5156 taskhost
  59. 83 5 1140 1212 43 508 wininit
  60. 116 4 2216 1164 49 596 winlogon
  61. 216 7 9156 14044 66 1900 WmiPrvSE
  62. 447 26 7680 7144 123 2064 wmpnetwk
  63. 198 5 1536 1408 34 2344 WUDFHost

3、3、1 利用property参数控制输出的属性

Exp:

  1. PS C:\Users\vol_20120330> get-process | format-table -property path,cpu,id,pm
  2.  
  3. Path CPU Id PM
  4. ---- --- -- --
  5. C:\Program Files... 0.0156001 2900 5042176
  6. 1036 16285696
  7. 1580 11984896
  8. C:\Users\vol_201... 13.884089 3780 36433920
  9. C:\Users\vol_201... 270.6929352 4316 54067200
  10. C:\Users\vol_201... 256.1068417 4500 181755904
  11. C:\Users\vol_201... 20.9821345 4772 7495680
  12. C:\Users\vol_201... 104.8794723 4948 95870976
  13. C:\Users\vol_201... 89.9189764 5760 82915328
  14. C:\Windows\syste... 0.1248008 2824 3518464
  15. 432 1441792
  16. 516 2347008
  17. C:\Windows\syste... 272.8145488 2628 33767424
  18. C:\Program Files... 0.936006 2916 5431296
  19. 1732 76525568
  20. C:\Windows\Explo... 31.6994032 2668 32452608
  21. C:\Program Files... 275.7629677 820 45711360
  22. 0 0
  23. C:\Program Files... 102.7734588 3848 24023040
  24. C:\Program Files... 118.2799582 4016 37036032
  25. C:\Program Files... 0.5148033 3868 8970240
  26. 616 3481600
  27. 624 1597440
  28. C:\Windows\syste... 305.0755556 6084 169136128
  29. 5604 12177408
  30. C:\Program Files... 676.9351393 5944 104837120
  31. C:\Windows\syste... 0.5772037 3456 6893568
  32. 3656 29736960
  33. 564 5378048
  34. 328 323584
  35. C:\Program Files... 0.3432022 2952 3346432
  36. 1412 5283840
  37. 1808 45916160
  38. 1892 1495040
  39. 732 3133440
  40. 812 3444736
  41. 904 14987264
  42. 936 52178944
  43. 964 19533824
  44. 1112 3723264
  45. 1252 11919360
  46. 1500 10014720
  47. 1932 1449984
  48. 2300 1949696
  49. 2640 3493888
  50. 3088 79384576
  51. C:\Program Files... 59.4207809 2880 12128256
  52. 3572 2564096
  53. C:\Program Files... 0.0468003 3252 5259264
  54. 4 49152
  55. 3840 3076096
  56. C:\Windows\syste... 0.3900025 2788 8450048
  57. 5156 4833280
  58. 508 1167360
  59. 596 2269184
  60. 1900 9375744
  61. 2064 7884800
  62. 2344 1572864
  63.  
  64. ________________________

  可以发现通过使用property参数,可以输出默认没有的path属性,同时将其他一些属性忽略了。我们还发现path属性输出的时候么有完整的信息,

这样不利于我们查看,有没有办法全部将其输出呢? 答案是:有,通过Autosize参数就可以实现。

3、3、2  autosize参数

Exp:利用autosize参数将path属性完整输出

  1. PS C:\Users\vol_20120330> get-process | format-table -property path,cpu,id,pm -autosize
  2.  
  3. 警告: 2 个列无法显示,已被删除。
  4.  
  5. Path CPU
  6. ---- ---
  7. C:\Program Files\Adobe\Acrobat 9.0\Acrobat\acrotray.exe ...001
  8.  
  9. C:\Users\vol_20120330\AppData\Local\Google\Chrome\Application\chrome.exe ...902
  10. C:\Users\vol_20120330\AppData\Local\Google\Chrome\Application\chrome.exe ...647
  11. C:\Users\vol_20120330\AppData\Local\Google\Chrome\Application\chrome.exe ...199
  12. C:\Users\vol_20120330\AppData\Local\Google\Chrome\Application\chrome.exe ...352
  13. C:\Users\vol_20120330\AppData\Local\Google\Chrome\Application\chrome.exe ...845
  14. C:\Users\vol_20120330\AppData\Local\Google\Chrome\Application\chrome.exe ...774
  15. C:\Windows\system32\conhost.exe ...008
  16.  
  17. C:\Windows\system32\Dwm.exe ...648
  18. C:\Program Files\ESET\ESET Smart Security\egui.exe ...006
  19.  
  20. C:\Windows\Explorer.EXE ...047
  21. C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe ...677
  22.  
  23. C:\Program Files\YouKu\iku2\iku.exe ...612
  24. C:\Program Files\YouKu\common\ikuacc.exe ...649
  25. C:\Program Files\YouKu\common\ikucmc.exe ...033
  26.  
  27. C:\Windows\system32\WindowsPowerShell\v1.0\PowerShell_ISE.exe ...806
  28.  
  29. C:\Program Files\Tencent\QQPlayer\QQPlayer.exe ...942
  30. C:\Windows\system32\rundll32.exe ...037
  31.  
  32. C:\Program Files\SogouInput\6.1.0.6700\SogouCloud.exe ...022
  33.  
  34. C:\Program Files\Synaptics\SynTP\SynTPEnh.exe ...899
  35.  
  36. C:\Program Files\Synaptics\SynTP\SynTPLpr.exe ...003
  37.  
  38. C:\Windows\system32\taskhost.exe

  我们发现path完整输出了,但是其他的信息就被忽略了,PS默认最前输出的列最重要,而后面输出的相对不重要,当不能完整输出的时候,就将不重要的信息省略。

3、3、3  wrap参数

  wrap参数用来将输出信息换行输出。

  1. PS C:\Users\vol_20120330> get-process | format-table -property cpu,id,pm,path -wrap
  2.  
  3. CPU Id PM Path
  4. --- -- -- ----
  5. 0.0156001 2900 5042176 C:\Program Files\Ad
  6. obe\Acrobat 9.0\Acr
  7. obat\acrotray.exe
  8. 1036 16285696
  9. 1580 11984896
  10. 14.2740915 3780 36433920 C:\Users\vol_201203
  11. 30\AppData\Local\Go
  12. ogle\Chrome\Applica
  13. tion\chrome.exe
  14. 284.3430227 4316 54341632 C:\Users\vol_201203
  15. 30\AppData\Local\Go
  16. ogle\Chrome\Applica
  17. tion\chrome.exe
  18. 280.0841954 4500 240979968 C:\Users\vol_201203
  19. 30\AppData\Local\Go
  20. ogle\Chrome\Applica
  21. tion\chrome.exe
  22. 21.2785364 4772 7495680 C:\Users\vol_201203
  23. 30\AppData\Local\Go
  24. ogle\Chrome\Applica
  25. tion\chrome.exe
  26. 107.0790864 4948 96923648 C:\Users\vol_201203
  27. 30\AppData\Local\Go
  28. ogle\Chrome\Applica
  29. tion\chrome.exe
  30. 90.2153783 5760 82915328 C:\Users\vol_201203
  31. 30\AppData\Local\Go
  32. ogle\Chrome\Applica
  33. tion\chrome.exe
  34. 0.1248008 2824 3518464 C:\Windows\system32
  35. \conhost.exe
  36. 432 1441792
  37. 516 2351104
  38. 277.7129802 2628 33771520 C:\Windows\system32
  39. \Dwm.exe
  40. 0.936006 2916 5431296 C:\Program Files\ES
  41. ET\ESET Smart Secur
  42. ity\egui.exe
  43. 1732 76525568
  44. 32.136206 2668 32382976 C:\Windows\Explorer
  45. .EXE
  46. 275.7785678 820 45711360 C:\Program Files\Fo
  47. xit Software\Foxit
  48. Reader\Foxit Reader
  49. .exe
  50. 0 0
  51. 103.9746665 3848 24006656 C:\Program Files\Yo
  52. uKu\iku2\iku.exe
  53. 121.1035763 4016 32854016 C:\Program Files\Yo
  54. uKu\common\ikuacc.e
  55. xe
  56. 0.5148033 3868 8970240 C:\Program Files\Yo
  57. uKu\common\ikucmc.e
  58. xe
  59. 616 3481600
  60. 624 1552384
  61. 318.6320425 6084 169525248 C:\Windows\system32
  62. \WindowsPowerShell\
  63. v1.0\PowerShell_ISE
  64. .exe
  65. 5604 12177408
  66. 696.0452618 5944 105066496 C:\Program Files\Te
  67. ncent\QQPlayer\QQPl
  68. ayer.exe
  69. 0.5772037 3456 6893568 C:\Windows\system32
  70. \rundll32.exe
  71. 3656 27095040
  72. 564 5406720
  73. 328 323584
  74. 0.3588023 2952 3346432 C:\Program Files\So
  75. gouInput\6.1.0.6700
  76. \SogouCloud.exe
  77. 1412 5283840
  78. 1808 45916160
  79. 1892 1495040
  80. 732 3133440
  81. 812 3416064
  82. 904 14987264
  83. 936 52178944
  84. 964 19566592
  85. 1112 3723264
  86. 1252 11919360
  87. 1500 10014720
  88. 1932 1449984
  89. 2300 1949696
  90. 2640 3493888
  91. 3088 79384576
  92. 62.0727979 2880 12128256 C:\Program Files\Sy
  93. naptics\SynTP\SynTP
  94. Enh.exe
  95. 3572 2564096
  96. 0.0468003 3252 5259264 C:\Program Files\Sy
  97. naptics\SynTP\SynTP
  98. Lpr.exe
  99. 4 49152
  100. 0.3900025 2788 8478720 C:\Windows\system32
  101. \taskhost.exe
  102. 508 1167360
  103. 596 2269184
  104. 1900 9539584
  105. 2064 7864320
  106. 2344 1572864

  可以发现最后一列path的输出wrap输出了。

3、3、4  groupby参数

  format-table 通过groupby参数还支持分组输出,实现选择功能。这里就不举例了。

4、小结

  可以发现PS的帮助系统功能很强大,而且其管道功能也很强大。

  格式化输出命令基于对象属性,使用最多的参数是property。

  待续..................

PowerShell_零基础自学课程_6_PS中获取帮助信息详解、管道、格式化输的更多相关文章

  1. PowerShell_零基础自学课程_5_自定义PowerShell环境及Powershell中的基本概念

    PowerShell_零基础自学课程_5_自定义PowerShell环境及Powershell中的基本概念 据我个人所知,windows下的cmd shell除了能够通过修改系统参数来对其中的环境变量 ...

  2. PowerShell_零基础自学课程_1_初识PowerShell

    欢迎转载本系列文章:转载请注明出处:www.cnblogs.com/volcanol 自从微软推出.Net以来,微软旗下的windows体系就发生了很大的变化,首先是操作系统的界面的变化,例如vist ...

  3. PowerShell_零基础自学课程_8_高级主题:WMI对象和COM组件

    本系列文章从最初的初识开始,基本上可以完成一些简单的系统管理了,为了更方便的管理系统,同时为了更好的发掘系统的性能,就需要用到系统提供 的一些高级特性,在Windows Server系列的OS中,如果 ...

  4. PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本

    微软在推出PS的同时,没有忘记其一贯的作风,什么东东都弄一个IDE环境,这不微软没有忘记给PS也来一个IDE的环境, 通过这个IDE环境,可以建立psl文件,可以调试psl文件. 1.IDE界面 我们 ...

  5. PowerShell_零基础自学课程_9_高级主题:静态类和类的操作

    上次我们说到了,wmi对象和com组件,今天我们继续来看PS中对象的相关内容.主要说一下静态对象和对象的基本操作. 一.静态对象 在PS中有一类特殊的对象,我们不能同过这些类创建新的对象,这些类是不能 ...

  6. PowerShell_零基础自学课程_2_Powershell与Cmd以及Unix/Linux Shell

    上篇文章我说道,windows为了改变用户对其console界面的诟病,于是就从windows   vista开始,计划要改变这种局面,于是就有 了Powershell的出现. 1.兼容shell命令 ...

  7. Android零基础入门第19节:Button使用详解

    原文:Android零基础入门第19节:Button使用详解 Button(按钮)是Android开发中使用非常频繁的组件,主要是在UI界面上生成一个按钮,该按钮可以供用户单击,当用户单击按钮时,按钮 ...

  8. Android零基础入门第80节:Intent 属性详解(下)

    上一期学习了Intent的前三个属性,本期接着学习其余四个属性,以及Android系统常用内置组件的启动. 四.Data和Type属性 Data属性通常用于向Action属性提供操作的数据.Data属 ...

  9. Android零基础入门第79节:Intent 属性详解(上)

    Android应用将会根据Intent来启动指定组件,至于到底启动哪个组件,则取决于Intent的各属性.本期将详细介绍Intent的各属性值,以及 Android如何根据不同属性值来启动相应的组件. ...

随机推荐

  1. cf437B The Child and Set

    B. The Child and Set time limit per test 1 second memory limit per test 256 megabytes input standard ...

  2. JFrame画图基础和事件监听

    消息框 JOptionPane.showMessageDialog(mine.this, "删除不成功!"); 画图 class MyJPanel extends JPanel / ...

  3. Best Cow Line (POJ 3617)

    题目: 给定长度为N的字符串S,要构造一个长度为N的字符串T.起初,T是一个空串,随后反复进行下列任意操作. ·从S的头部删除一个字符,加到T的尾部 ·从S的尾部删除一个字符,加到T的尾部 目标是要构 ...

  4. Bring it on

    I am going to open a whole new English Blog here. Most blogs here would be computer technologies, in ...

  5. Java 四种线程池的用法分析

    1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() { ...

  6. Spring整合Shiro做权限控制模块详细案例分析

    1.引入Shiro的Maven依赖 <!-- Spring 整合Shiro需要的依赖 --> <dependency> <groupId>org.apache.sh ...

  7. hdu 5159 Card (期望)

    Problem Description There are x cards on the desk, they are numbered from 1 to x. The score of the c ...

  8. mysql语句添加索引

    1.PRIMARY  KEY(主键索引)        mysql>ALTER  TABLE  `table_name`  ADD  PRIMARY  KEY (  `column`  ) 2. ...

  9. [原创]Web前端开发——让ie 7 8支持表单的placeholder属性

    今天在写页面的时候,测试低版本浏览器时,发现input写的placeholder显示的是空白,所以特意写了一个普遍试用的方法来让低版本浏览器支持这个属性. 博主建了一个技术共享qq群:,因为目前人数还 ...

  10. java通过jsp的Excel导出

    在项目中一般导出报表用poi,可是假设你不想用框架就用简单的jsp也能够实现报表导出.并且实现起来还特别简单. 先看一下效果截图: 点击导出后的效果截图: 详细实现: 第一:在页面的列表页面中就是普通 ...