Получает модули, которые были импортированы или могут быть импортированы в текущий сеанс.
Синтаксис
Get-Module [-All] [-ListAvailable] [-Name <string[]>] [<CommonParameters>] Get-Module [[-Name] <string[]>] [<CommonParameters>]
Описание
Командлет Get-Module возвращает модули, которые были импортированы или могут быть импортированы в сеанс.
Командлет Get-Module только возвращает модули, но не импортирует их. Чтобы импортировать модули в сеанс, воспользуйтесь командлетом Import-Module.
Параметры
-All
Получает объекты модулей для всех файлов модулей.
При запуске без параметра All командлет Get-Module возвращает только объект модуля для файла модуля по умолчанию. Типы файлов выбираются командлетом в следующем порядке: файлы манифеста (PSD1), файлы модулей скрипта (PSM1) и двоичные файлы (DLL).
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-ListAvailable
Получает все модули, которые могут быть импортированы в сеанс. Get-Module получает модули, которые хранятся в путях, заданных переменной среды $env:PSModulePath.
При запуске без этого параметра командлет Get-Module получает информацию только о тех модулях, которые были импортированы в сеанс.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Name <string[]>
Получает только модули с заданными именами или шаблонами имен. Подстановочные знаки разрешены. Кроме того, можно передавать имена командлету Get-Module с помощью конвейера.
Обязательно? |
false |
Позиция? |
1 |
Значение по умолчанию |
All imported or available modules. |
Принимать входные данные из конвейера? |
true (ByValue) |
Принимать подстановочные знаки? |
true |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
System.String Можно передать имена модулей командлету Get-Module по конвейеру. |
Выходные данные |
System.Management.Automation.PSModuleInfo Get-Module возвращает объекты, представляющие модули. |
Примечания
Командлет Get-Module также можно вызывать с помощью псевдонима "gmo". Дополнительные сведения см. в разделе About_Aliases.
Параметр All возвращает объекты модулей для всех файлов DLL, даже если они не реализуют командлеты или поставщики.
Пример 1
C:\PS>get-module Description ----------- Эта команда получает модули, которые были импортированы в текущий сеанс.
Пример 2
C:\PS>get-module -listAvailable Description ----------- Эта команда получает модули, которые могут быть импортированы в текущий сеанс. Get-Module выполняет поиск доступных модулей в пути, указанном переменной среды $env:PSModulePath. Дополнительные сведения о переменной среды PSModulePath см. в разделах about_Modules и about_Environment_Variables.
Пример 3
C:\PS>get-module -listAvailable -all Description ----------- Эта команда получает все экспортированные файлы для всех доступных модулей.
Пример 4
C:\PS>get-module | get-member -type property TypeName: System.Management.Automation.PSModuleInfo Name MemberType Definition ---- ---------- ---------- AccessMode Property System.Management.Automation.ModuleAcc Description Property System.String Description {get;set;} ExportedAliases Property System.Collections.Generic.Dictionary` ExportedCmdlets Property System.Collections.Generic.Dictionary` ExportedFunctions Property System.Collections.Generic.Dictionary` ExportedVariables Property System.Collections.Generic.Dictionary` Guid Property System.Guid Guid {get;} ModuleBase Property System.String ModuleBase {get;} ModuleType Property System.Management.Automation.ModuleTyp Name Property System.String Name {get;} NestedModules Property System.Collections.ObjectModel.ReadOnl OnRemove Property System.Management.Automation.ScriptBlo Path Property System.String Path {get;} PrivateData Property System.Object PrivateData {get;set;} SessionState Property System.Management.Automation.SessionSt Version Property System.Version Version {get;} Description ----------- Эта команда получает свойства объекта PSModuleInfo, возвращаемого командлетом Get-Module. Для каждого файла модуля возвращается один объект. Эти свойства можно использовать для форматирования и фильтрации объектов модуля. Дополнительные сведения об этих свойствах см. в разделе "Свойства PSModule" библиотеки MSDN (Microsoft Developer Network) по адресу (на английском языке).
Пример 5
C:\PS>get-module -listAvailable -all | format-table -property name, moduletype, path -groupby name -auto Name: MyTestCmdlets Name ModuleType Path ---- ---------- ---- MyTestCmdlets Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\TestCmdlets\TestCmdlets.dll Name: PSDiagnostics Name ModuleType Path ---- ---------- ---- PSDiagnostics Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDiagnostics\PSDiagnostics.psd1 PSDiagnostics Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDiagnostics\PSDiagnostics.psm1 Name: FileTransfer Name ModuleType Path ---- ---------- ---- FileTransfer Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer\FileTransfer.psd1 Description ----------- Эта команда получает все файлы модулей (импортированных и доступных) и группирует их по имени модуля. Это позволяет увидеть все файлы модулей, экспортируемые каждым скриптом.
Пример 6
C:\PS>$m = get-module -list -name FileTransfer | where {$_.moduletype -eq "Manifest"} C:\PS> get-content $m.path @{ GUID="{8FA5064B-8479-4c5c-86EA-0D311FE48875}" Author="Microsoft Corporation" CompanyName="Microsoft Corporation" Copyright="© Microsoft Corporation. All rights reserved." ModuleVersion="1.0.0.0" Description="Windows Powershell File Transfer Module" PowerShellVersion="2.0" CLRVersion="2.0" NestedModules="Microsoft.BackgroundIntelligentTransfer.Management" FormatsToProcess="FileTransfer.Format.ps1xml" RequiredAssemblies=Join-Path $psScriptRoot "Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll" } Description ----------- Эти команды отображают содержимое манифеста модуля для модуля Windows PowerShell File Transfer. Первая команда получает объект PSModuleInfo, представляющий манифест модуля для модуля File Transfer. Она сохраняет объект в переменной $m. Вторая команда использует обращение через точку, чтобы получить путь к файлу манифеста, который хранится в свойстве Path объекта. Затем она использует командлет Get-Content для получения содержимого файла манифеста по указанному пути. Модули не обязательно должны иметь файлы манифеста. Если модуль имеет файл манифеста, манифест требуется только для указания номера версии. Однако нередко в файле манифеста содержится полезная информация о модуле, его требованиях и его содержании.
Пример 7
C:\PS>get-module -listAvailable -name FileTransfer | format-list -property * Name : FileTransfer Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer\FileTransfer.psd1 Description : Powershell File Transfer Module Guid : 8fa5064b-8479-4c5c-86ea-0d311fe48875 ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer PrivateData : Version : 1.0.0.0 ModuleType : Manifest AccessMode : ReadWrite ExportedFunctions : {} ExportedCmdlets : {} NestedModules : {} ExportedVariables : {} ExportedAliases : {} SessionState : System.Management.Automation.SessionState OnRemove : Description ----------- Эта команда отображает все свойства модуля FileTransfer в виде списка. Поскольку модуль еще не был импортирован в сеансе, значения свойств Exported* и свойства NestedModules пока не определены. Значения этих свойств будут определены только после экспорта элементов и создания экземпляров вложенных модулей.
Пример 8
C:\PS>dir (get-module -listavailable FileTransfer).modulebase Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 12/16/2008 12:36 PM en-US -a--- 11/19/2008 11:30 PM 16184 FileTransfer.Format.ps1xml -a--- 11/20/2008 11:30 PM 1044 FileTransfer.psd1 -a--- 12/16/2008 12:20 AM 108544 Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll Description ----------- Эта команда выводит список файлов в каталоге модуля. Это еще один способ определить назначение модуля перед его импортом. В комплект поставки некоторых модулей могут входить файлы справки или файлы ReadMe, в которых содержится описание модуля.
См. также