在 PowerShell 中查找 cmdlet
Windows PowerShell 具有大量的内置帮助,通常包括示例。 借助此内置帮助,可以更轻松地了解如何使用 cmdlet。 开始使用 PowerShell 时,查找所需的 cmdlet 可能是一个挑战。 例如,在网络适配器上设置 IP 地址,或者在 Active Directory 中禁用用户帐户应使用哪个 cmdlet?
可以首先使用对 cmdlet 名称结构的了解,以及 Get-Command 命令或 Get-Help 命令。 Get-Command 检索单个命令或多个命令的相关信息,例如名称、类别、版本,甚至它所属的模块。 Get-Help 检索命令的相关帮助内容。
与 Get-Help 命令一样,Get-Command 接受通配符,这意味着你可以运行 Get-Command *event* 命令并检索名称中包含文本 event 的命令列表。 Get-Command 还包含多个参数,可用于进一步筛选返回的结果。 例如,可以使用 -Noun 和 -Verb 参数分别筛选出名称的名词和谓词部分。
两个参数都接受通配符,但在大多数情况下,不需要对谓词使用通配符。 甚至可以组合参数以进一步优化返回的结果。 运行 Get-Command –Noun event*–Verb Get 命令,获取具有以 event 开头的名词且使用 Get 谓词的命令列表。
视图标识命令名称时,请尝试仅使用名词部分,并只考虑单个词的单数名词。 例如,尝试查找适用于 Windows 事件日志的命令时,event 和 log 可能就很好猜测。
使用模块发现 cmdlet
使用 Get-Module 命令时,会显示所引用模块包含的部分 cmdlet 列表。 但是,可以通过其他方式使用该模块来查找其 cmdlet。
例如,如果已发现模块 NetAdapter,会预计它应包含可用于管理网络适配器的 cmdlet。 可以通过运行 Get-Command –Module NetAdapter 命令在该模块中找到所有适用的命令。 –Module 参数将结果限制为仅指定模块中的那些命令。
使用 Get-Help 发现 cmdlet
可以使用 Get-Help 执行类似的搜索,包括使用通配符。 使用 Get-Help 而不是 Get-Command 的一个优点是,如果 Get-Help 找不到匹配的命令名称,它会使用查询字符串执行全文搜索。 如果运行 Get-Command *beep* 命令,则没有可用结果。 如果运行 Get-Help *beep* 命令,将返回多个结果。
还可以参考你知道与正在搜索的 cmdlet 相关的 cmdlet“相关链接”部分。 帮助主题的此部分包括相关的 cmdlet。
在 Internet 上查找 cmdlet
不限于搜索计算机已安装的 cmdlet。 可以搜索 Internet 来查找各种 Microsoft 和非 Microsoft 模块和 cmdlet。 如果你只是使用术语 PowerShell 和正在使用的技术进行搜索,你会发现许多指向 Microsoft 和非 Microsoft 网站上的文章的链接。 几乎所有 Microsoft 团队都创建了用于管理其产品的 cmdlet,你可以将其作为管理工具的一部分进行安装。
PowerShell 库
PowerShell 库是 Windows PowerShell 相关内容(包括脚本和模块)的中央存储库。 PowerShell 库使用 Windows PowerShell 模块 PowerShellGet。 此模块是 Windows PowerShell 5.0 及更高版本的一部分。
PowerShellGet 包含用于从联机库中查找和安装模块、脚本和命令的 cmdlet。 例如,Find-Command cmdlet 搜索命令、函数和别名。 其工作原理类似于 Get-Command cmdlet,包括对通配符的支持。
可以将 Find-Command cmdlet 的结果传递到 PowerShellGet 模块也包含的 Install-Module cmdlet。 Install-Module 将安装包含你发现的 cmdlet 的模块。
其他阅读: 有关 PowerShell 库的详细信息,请参阅 PowerShell 库。