在 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 库是 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 库