您的位置:首页 > 运维架构 > Shell

(4)Powershell基础知识(二)

2016-12-18 17:13 399 查看
上一节主要介绍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中"#"是用于内容的注释。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Powershell