如何从模块中检索可用命令?

时间:2011-06-15 07:17:19

标签: powershell module powershell-v2.0

要知道计算机上可用的PowerShell模块,我使用命令

Get-Module -ListAvailable

返回包含module-type,-name和导出命令的列表。但导出的命令始终为空,只显示{}。为什么不显示?

我是否必须使用其他参数或是否有其他cmdlet或方法来检索可用命令?

4 个答案:

答案 0 :(得分:96)

如果未加载模块,则导出的命令不可用。您需要先加载模块,然后执行Get-Command

Import-Module -Name <ModuleName>
Get-Command -Module <ModuleName>

答案 1 :(得分:15)

使用参数-ListAvailable

Get-Module <moduleName> -ListAvailable | % { $_.ExportedCommands.Values }

&#34; <moduleName>&#34;是可选的。省略显示所有可用的模块。

答案 2 :(得分:0)

这将列出模块下的所有命令并搜索它们:

Get-Command -Module dbatools| ?{$_.name -match 'service'}

答案 3 :(得分:-1)

PowerShell 2.0 - 这对我有用:

Get-Module <moduleName> | % {$_.ExportedCommands.Values}

列出当前会话中加载的模块:

Get-Module