Поделиться через


Get-Module

Получает модули, которые были импортированы или могут быть импортированы в текущий сеанс.

Синтаксис

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, в которых содержится описание модуля.





См. также

Концепции

Import-Module
New-Module
Remove-Module
about_Modules