上一节主要介绍Powershell可发现,面向对象,一致性等特性,以及Powershell命令是基于.Net对象等重要概念,以及Powershell命令的命名规范,详细内容点击这里。
这一节的Powershell基础知识主要包含以下知识点
- 获取命令的摘要信息。
- 获取命令的帮助信息。
- 总结。
获取命令的摘要信息
Powershell命令 Get-Command 可检索当前shell中所有可用的命令名称。在Powershell提示符输入 Get-Command ,输出的内容类似以下内容(以下只写出输出的结果的部分内容)。
PS C:\Documents and Settings\Administrator> Get-Command CommandType Name Definition ----------- ---- ---------- Alias % ForEach-Object Alias ? Where-Object Function A: Set-Location A: Alias ac Add-Content Cmdlet Add-Computer Add-Computer [-DomainName] <String> [-Credential... Cmdlet Add-Content Add-Content [-Path] <String[]> [-Value] <Object[... Cmdlet Add-History Add-History [[-InputObject] <PSObject[]>] [-Pass... Cmdlet Add-Member Add-Member [-MemberType] <PSMemberTypes> [-Name]...
在 Get-Command 命令的输出中,所有定义都以省略号 (...) 结尾,表示 PowerShell
无法在可用空间内显示所有内容。在显示输出时,PowerShell
会将输出格式设置为文本,然后对其进行排列,以使数据整齐地显示在窗口中。在后续的文章中会对命令输出的格式化做详细说明。
Get-Command cmdlet 有一个 Syntax 参数,使用该参数,可以仅检索每个 cmdlet
的语法。输入 Get-Command -Syntax 命令可以显示完整的输出:
PS C:\Documents and Settings\Administrator> Get-Command -Syntax ForEach-Object Where-Object A: Add-Content Add-Computer [-DomainName] <String> [-Credential <PSCredential>] [-OUPath <String>] [-PassThru] [-Server <String>] [-UnSecure] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <Stri ng>] [-WarningVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm]Add-Computer [-WorkGroupName] <String> [-Credential <PSCredential>] [-PassThru] [-Verbose] [-Debug] [-ErrorAction <Acti onPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable <String>] [-OutVariable<String>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm] Add-Content [-Path] <String[]> [-Value] <Object[]> [-PassThru] [-Filter <String>] [-Include <String[]>] [-Exclude <String[]>] [-Force] [-Credential <PSCredential>] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-WarningAction <Act ionPreference>] [-ErrorVariable <String>] [-WarningVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm] [-UseTransaction] [-Encoding <FileSystemCmdletProviderEncoding>] Add-Content [-LiteralPath] <String[]> [-Value] <Object[]> [-PassThru] [-Filter <String>] [-Include <String[]>] [-Exclude <String[]>] [-Force] [-Credential <PSCredential>] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-WarningActi on <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm] [-UseTransaction] [-Encoding <FileSystemCmdletProviderEncoding>]
需要注意的是,Get-Command 命令仅列出当前 shell 中的 cmdlet,并不是Powershell中的所有可用的命令。别名,函数和脚本也是Powershell命令,外部程序也归类与命令。通过输入以下命令,可以返回所有可调用项的列表:
PS> Get-Command *
由于此列表包括搜索路径中的外部文件,因此它可能包含数千个项目。实际上,仅查看精简的命令集更为有用。若要查找其他类型的本机命令,可以使用
Get-Command cmdlet 的 CommandType 参数。尽管我们尚未介绍其他这些命令类型,但如果知道某类命令的
CommandType 名称,您仍然可以显示这些命令类型。
注意:命令中的星号(*) 是通配符,表示“匹配一个或多个任意字符”,如输入Get-Command *ervice* 列出所有包含"ervice"的命令。
若要显示特殊命令类别的别名(作标准命令名称的替代名称),可输入以下命令:
PS> Get-Command -CommandType Alias
若要显示所有 Windows PowerShell 函数,请输入以下命令:
PS> Get-Command -CommandType Function
若要显示 PowerShell 搜索路径中的外部脚本,请输入以下命令:
PS> Get-Command -CommandType ExternalScript
获取命令的帮助信息
- 获取cmdlet帮助信息
要获取有关 PowerShell cmdlet 的帮助,请使用 Get-Help cmdlet。例如,要获取Get-ChildItem的帮助,请输入:
get-help get-childitem
或
get-childitem -?
当然可以获取Get-Help命令本身的帮助,例如:
get-help get-help
若要在会话中获取所有 cmdlet 帮助主题的列表,请键入:
get-help -category cmdlet
若要每次显示每个帮助主题的一页,请使用 help 函数或其别名 man。例如,若要显示
Get-ChildItem cmdlet 的帮助,请键入
man get-childitem
或
help get-childitem
若要显示有关 cmdlet、函数或脚本的详细信息,包括其参数说明和使用示例,请使用 Get-Help cmdlet 的
Detailed 参数。例如,若要获取有关 Get-ChildItem cmdlet 的详细信息,请键入:
get-help get-childitem -detailed #显示get-childitem的详细信息 get-help get-childitem -full #显示get-childitem帮助主题的全部内容 get-help get-childitem -parameter * #显示get-childitem参数的详细帮助 get-help get-childitem -examples #显示get0childitem的帮助中的示例
注:Powershell中,#用于注释,类似于Java或C#中的"//"。
- 获取概念性帮助。Powershell通过 Get-Help about_* 命令获取概念性的帮助。
- 获取有关提供程序的帮助
Powershell可以获取提供程序的帮助信息。如要获取Registry 提供程序的帮助,请输入:
get-help registry
如要在会话中获取所有提供程序帮助主题的列表,请输入
get-help -category provider
Get-Help 的各个参数(如 Detailed、Parameter 和
Examples)对提供程序帮助主题的显示没有影响。
- 获取连网帮助
如果计算机已经连接到网络,查看帮助的最好方式是查看网上帮助主题,在线帮助主题更容易提供最新的内容。
若要使用 Get-Help cmdlet 的 Online 参数,请使用以下命令格式。
get-help <command-name> -online
如果该命令提供了帮助主题的联机版本,则它将在默认浏览器中打开。
总结
通过学习本节,应当掌握以下内容。
- 可以查看当前shell中所有可用的命令及Powershell中所有可用的命令。
- 对于任何一条命令会查看其摘要信息,语法信息及指定类型命令的检索。
- 可以获取指定命令的帮助信息,包括在线帮助信息。
- 知道Powershell中"#"是用于内容的注释。