(4)Powershell基础知识(二)
上一节主要介绍Powershell可发现,面向对象,一致性等特性,以及Powershell命令是基于.Net对象等重要概念,以及Powershell命令的命名规范,详细内容点击这嘎达。
这一节的Powershell基础知识主要包含以下知识点
-
获取命令的摘要信息。
-
获取命令的帮助信息。
-
总结。
获取命令的摘要信息
Powershell命令 Get-Command 可检索当前shell中所有可用的命令名称。在Powershell提示符输入 Get-Command ,输出的内容类似以下内容(以下只写出输出的结果的部分内容)。
PS C:\WINDOWS\system32> Get-Command
CommandType Name Version Source
----------- ---- ------- ------
Alias Add-AppPackage 2.0.1.0 Appx
Alias Add-AppPackageVolume 2.0.1.0 Appx
Function Add-DnsClientNrptRule 1.0.0.0 DnsClient
Function Add-InitiatorIdToMaskingSet 2.0.0.0 Storage
Function Add-MpPreference 1.0 Defender
Function Add-NetEventNetworkAdapter 1.0.0.0 NetEventPacketCapture
Function Add-NetEventPacketCaptureProvider 1.0.0.0 NetEventPacketCapture
Cmdlet Add-AIPScannerRepository 2.13.49.0 AzureInformationProtection
Cmdlet Add-AppProvisionedSharedPackageContainer 3.0 Dism
Cmdlet Add-AppSharedPackageContainer 2.0.1.0 Appx
Cmdlet Add-AppvClientConnectionGroup 1.0.0.0 AppvClient
Cmdlet Add-AppvClientPackage 1.0.0.0 AppvClient
Get-Command cmdlet 有一个 Syntax 参数,使用该参数,可以仅检索每个 cmdlet 的语法。输入 Get-Command -Syntax 命令可以显示完整的输出:
PS C:\Documents and Settings\Administrator> Get-Command -Syntax
Add-Computer [-DomainName] <string> -Credential <pscredential> [-ComputerName <string[]>] [-LocalCredential <pscredential>] [-UnjoinDomainCredential <pscredential>] [-OUP
ath <string>] [-Server <string>] [-Unsecure] [-Options <JoinOptions>] [-Restart] [-PassThru] [-NewName <string>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>]
Add-Computer [-WorkgroupName] <string> [-ComputerName <string[]>] [-LocalCredential <pscredential>] [-Credential <pscredential>] [-Restart] [-PassThru] [-NewName <string>
] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>]
Add-Content [-Path] <string[]> [-Value] <Object[]> [-PassThru] [-Filter <string>] [-Include <string[]>] [-Exclude <string[]>] [-Force] [-Credential <pscredential>] [-What
If] [-Confirm] [-UseTransaction] [-NoNewline] [-Encoding <FileSystemCmdletProviderEncoding>] [-Stream <string>] [<CommonParameters>]
Add-Content [-Value] <Object[]> -LiteralPath <string[]> [-PassThru] [-Filter <string>] [-Include <string[]>] [-Exclude <string[]>] [-Force] [-Credential <pscredential>] [
-WhatIf] [-Confirm] [-UseTransaction] [-NoNewline] [-Encoding <FileSystemCmdletProviderEncoding>] [-Stream <string>] [<CommonParameters>]
需要注意的是,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 函数,请输入以下命令:
Get-Command -CommandType Function
若要显示 PowerShell 搜索路径中的外部脚本,请输入以下命令:
PS> Get-Command -CommandType ExternalScript
获取命令的帮助信息
- 获取cmdlet帮助信息
要获取有关 PowerShell cmdlet 的帮助,请使用 Get-Help cmdlet。例如,要获取Get-ChildItem的帮助,请输入:
get-help get-childitem 或 get-childitem -?
若要在会话中获取所有 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-online
如果该命令提供了帮助主题的联机版本,则它将在默认浏览器中打开。
总结
通过学习本节,应当掌握以下内容。
-
可以查看当前shell中所有可用的命令及Powershell中所有可用的命令。
-
对于任何一条命令会查看其摘要信息,语法信息及指定类型命令的检索。
-
可以获取指定命令的帮助信息,包括在线帮助信息。
-
知道Powershell中"#"是用于内容的注释。