zhang-snail

导航

 

(4)Powershell基础知识(二)

上一节主要介绍Powershell可发现,面向对象,一致性等特性,以及Powershell命令是基于.Net对象等重要概念,以及Powershell命令的命名规范,详细内容点击这嘎达

这一节的Powershell基础知识主要包含以下知识点

  1. 获取命令的摘要信息。

  2. 获取命令的帮助信息。

  3. 总结。


获取命令的摘要信息

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
    如果该命令提供了帮助主题的联机版本,则它将在默认浏览器中打开。


总结

通过学习本节,应当掌握以下内容。

  1. 可以查看当前shell中所有可用的命令及Powershell中所有可用的命令。

  2. 对于任何一条命令会查看其摘要信息,语法信息及指定类型命令的检索。

  3. 可以获取指定命令的帮助信息,包括在线帮助信息。

  4. 知道Powershell中"#"是用于内容的注释。

posted on 2024-01-17 18:59  zhang-snail  阅读(27)  评论(0编辑  收藏  举报