文章目录
- Get-Help
- Get-Command
PowerShell 内置了非常强大的帮助系统,在遇到不清楚的命令时,可以直接查询它的帮助系统,善于利用帮助可以大幅提高我们的工作效率!
与 PowerShell 帮助相关的 cmdlet 主要有三条:
-
Get-Help
-
Get-Command
-
Get-Member
在开始之前,先将帮助系统更新一下(要以管理员身份运行 PowerShell 哦)
Update-Help -ErrorAction SilentlyContinue # -ErrorAction SilentlyContinue表示忽略报错,因为 PowerShell某些在线帮助文档为英文,而一般我们的操作系统语言集为中文,可能会因此报错
下面我们先来介绍 Get-Help
和 Get-Command
!Get-Member
后续再介绍。
Get-Help
-
最简单的用法
使用下面的指令
Get-Help -Name Get-Help
会输出像下面这样的一大串(这里只有部分)
名称 Get-Help摘要 Displays information about PowerShell commands and concepts.语法 Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider | General | FAQ | Glossary | HelpFile | ScriptCommand | Function | Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource | Class | Configuration}] [-Component <System.Str ing[]>] -Detailed [-Functionality <System.String[]>] [-Path <System.String>] [-Role <System.String[]>] [<CommonParameters>]......
包括以下六项:
名称摘要语法说明相关链接备注
以下每个参数都位于不同的参数集里面
- Detailed(详细说明)
- Examples(示例)
- Full(完整)
- Online(在线查看)
- Parameter(参数)
- ShowWindow(在独立窗口中显示)
-
搭配参数使用
输入下面的指令
Get-Help -Name Get-Help -Parameter Parameter
输出如下
-Parameter <System.String> Displays only the detailed descriptions of the specified parameters. Wildcards are permitted. This parameter has no effect on dis plays of conceptual ( About_ ) help.是否必需? True 位置? named 默认值 None 是否接受管道输入? False 是否接受通配符? True
-
推荐的查找方式
- 使用通配符(widecard)(如果待查内容不确定)
Get-Help -Name *Clipboard*
输出如下,PowerShell 会先根据通配符来查找指令,然后返回一个命令列表
Name Category Module Synopsis ---- -------- ------ -------- Get-Clipboard Cmdlet Microsoft.PowerShell.M... Gets the current Windows clipboard entry. Set-Clipboard Cmdlet Microsoft.PowerShell.M... Sets the current Windows clipboard entry.
然后你就可以选择自己需要查找的命令了
Get-Help -Name Get-Clipboard
-
使用具体参数
例如:
Get-Help -Name Get-Help -Parameter
- 使用通配符(widecard)(如果待查内容不确定)
-
其他
Help
是一个函数,它通过管道将Get-Help
传递给名为more
的函数,后者是 Windows 中more.com
可执行文件的包装器。 在 PowerShell 控制台中,help
一次提供一页帮助信息。 所以推荐使用help
。
Get-Command
Get-Command
的作用是帮助查找命令。 运行不带任何参数的 Get-Command
会返回系统上所有命令的列表。
-
按动词(verb)、名词(noun)来查
之前提到过,cmdlet 的格式为“动词-名词”,
Get-Command
有这两个参数Get-Command -Verb Get
输出如下(部分):
CommandType Name Version Source ----------- ---- ------- ------ Function Clear-BitLockerAutoUnlock 1.0.0.0 BitLocker Function Clear-Disk 2.0.0.0 Storage Function Clear-DnsClientCache 1.0.0.0 DnsClient Function Clear-FileStorageTier 2.0.0.0 Storage Function Clear-Host Function Clear-PcsvDeviceLog 1.0.0.0 PcsvDevice Function Clear-StorageBusDisk 1.0.0.0 StorageBusCache Function Clear-StorageDiagnosticInfo 2.0.0.0 Storage ...
Get-Command -Noun Content
输出如下:
CommandType Name Version Source ----------- ---- ------- ------ Cmdlet Add-Content 3.1.0.0 Microsoft.PowerShell.Management Cmdlet Clear-Content 3.1.0.0 Microsoft.PowerShell.Management Cmdlet Get-Content 3.1.0.0 Microsoft.PowerShell.Management Cmdlet Set-Content 3.1.0.0 Microsoft.PowerShell.Management
-
使用通配符
Get-Command -Name *Content*
输出如下
CommandType Name Version Source ----------- ---- ------- ------ Cmdlet Add-Content 3.1.0.0 Microsoft.PowerShell.Management Cmdlet Clear-Content 3.1.0.0 Microsoft.PowerShell.Management Cmdlet Get-Content 3.1.0.0 Microsoft.PowerShell.Management Cmdlet Get-WindowsImageContent 3.0 Dism Cmdlet Set-Content 3.1.0.0 Microsoft.PowerShell.Management Application LockScreenContentServer.exe 10.0.22... C:\Windows\system32\LockScreenContentServer.exe
这里出现了一个
Application
类型,这并不是 PowerShell 能执行的命令类型,建议加上CommandType
参数来限制Get-Command -Name *Content* -CommandType Cmdlet
CommandType Name Version Source ----------- ---- ------- ------ Cmdlet Add-Content 3.1.0.0 Microsoft.PowerShell.Management Cmdlet Clear-Content 3.1.0.0 Microsoft.PowerShell.Management Cmdlet Get-Content 3.1.0.0 Microsoft.PowerShell.Management Cmdlet Get-WindowsImageContent 3.0 Dism Cmdlet Set-Content 3.1.0.0 Microsoft.PowerShell.Management