Как получить доступные команды из модуля? - PullRequest
59 голосов
/ 15 июня 2011

Чтобы узнать, какие модули PowerShell доступны на машине, я использую команду

Get-Module -ListAvailable

Возвращает список с типом модуля, именем и экспортированными командами. Но экспортированные команды всегда пусты и просто отображают {}. Почему это не отображается?

Нужно ли использовать другой параметр или есть другой командлет или метод для получения доступных команд?

Ответы [ 3 ]

98 голосов
/ 15 июня 2011

Экспортируемые команды недоступны, если модуль не загружен. Сначала необходимо загрузить модуль, а затем выполнить Get-Command :

Import-Module -Name <ModuleName>
Get-Command -Module <ModuleName>
15 голосов
/ 23 ноября 2016

Используйте параметр -ListAvailable

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

"<moduleName>" необязательно. Пропустить, чтобы показать все доступные модули.

0 голосов
/ 08 мая 2018

PowerShell 2.0 - у меня это работает:

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

Чтобы вывести список загруженных модулей в текущем сеансе:

Get-Module
...