Import-Module
Добавляет модули в текущий сеанс.
Синтаксис
Name (по умолчанию)
Import-Module
[-Name] <String[]>
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-MinimumVersion <Version>]
[-MaximumVersion <String>]
[-RequiredVersion <Version>]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
PSSession
Import-Module
[-Name] <String[]>
-PSSession <PSSession>
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-MinimumVersion <Version>]
[-MaximumVersion <String>]
[-RequiredVersion <Version>]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
CimSession
Import-Module
[-Name] <String[]>
-CimSession <CimSession>
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-MinimumVersion <Version>]
[-MaximumVersion <String>]
[-RequiredVersion <Version>]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[-CimResourceUri <Uri>]
[-CimNamespace <String>]
[<CommonParameters>]
UseWindowsPowerShell
Import-Module
[-Name] <string[]>
-UseWindowsPowerShell
[-Global]
[-Prefix <string>]
[-Function <string[]>]
[-Cmdlet <string[]>]
[-Variable <string[]>]
[-Alias <string[]>]
[-Force]
[-PassThru]
[-AsCustomObject]
[-MinimumVersion <version>]
[-MaximumVersion <string>]
[-RequiredVersion <version>]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <string>]
[<CommonParameters>]
FullyQualifiedName
Import-Module
[-FullyQualifiedName] <ModuleSpecification[]>
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
FullyQualifiedNameAndPSSession
Import-Module
[-FullyQualifiedName] <ModuleSpecification[]>
-PSSession <PSSession>
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
FullyQualifiedNameAndUseWindowsPowerShell
Import-Module
[-FullyQualifiedName] <ModuleSpecification[]>
-UseWindowsPowerShell
[-Global]
[-Prefix <string>]
[-Function <string[]>]
[-Cmdlet <string[]>]
[-Variable <string[]>]
[-Alias <string[]>]
[-Force]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <string>]
[<CommonParameters>]
Assembly
Import-Module
[-Assembly] <Assembly[]>
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
ModuleInfo
Import-Module
[-ModuleInfo] <PSModuleInfo[]>
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
Описание
Командлет Import-Module
добавляет один или несколько модулей в текущий сеанс. Начиная с PowerShell 3.0 установленные модули автоматически импортируются в сеанс при использовании любых команд или поставщиков в модуле. Однако вы по-прежнему Import-Module
можете использовать команду для импорта модуля.
Вы можете отключить автоматическое импортирование модулей с помощью переменной $PSModuleAutoLoadingPreference
предпочтения. Дополнительные сведения об переменной $PSModuleAutoLoadingPreference
см. в about_Preference_Variables.
Модуль — это пакет, содержащий элементы, которые можно использовать в PowerShell. Члены включают командлеты, поставщики, скрипты, функции, переменные и другие средства и файлы. После импорта модуля можно использовать члены модуля в сеансе. Дополнительные сведения о модулях см. в about_Modules.
По умолчанию импортирует все элементы, Import-Module
экспортируемые модулем, но можно использовать параметры псевдонима, функции, командлета и переменной , чтобы ограничить импортируемые элементы. Параметр NoClobber запрещает Import-Module
импорт элементов с теми же именами, что и члены в текущем сеансе.
Import-Module
импортирует модуль только в текущий сеанс. Чтобы импортировать модуль в каждый новый сеанс, добавьте Import-Module
команду в профиль PowerShell. Дополнительные сведения о профилях см. в about_Profiles.
Вы можете управлять удаленными компьютерами Windows с поддержкой удаленного взаимодействия PowerShell, создав PSSession на удаленном компьютере. Затем используйте параметр PSSession для Import-Module
импорта модулей, установленных на удаленном компьютере. При использовании импортированных команд в текущем сеансе команды неявно выполняются на удаленном компьютере.
Начиная с Windows PowerShell 3.0 можно импортировать Import-Module
модули Common Information Model (CIM). Модули CIM определяют командлеты в файлах XML определения командлетов (CDXML). Эта функция позволяет использовать командлеты, реализованные в неуправляемых сборках кода, таких как написанные на C++.
Для удаленных компьютеров, не имеющих возможности удаленного взаимодействия PowerShell, включая компьютеры, не работающие под управлением операционной системы Windows, можно использовать параметр CimSession для Import-Module
импорта модулей CIM с удаленного компьютера. Импортированные команды выполняются неявно на удаленном компьютере.
CIMSession — это подключение к инструментарию управления Windows (WMI) на удаленном компьютере.
Примеры
Пример 1. Импорт элементов модуля в текущий сеанс
В этом примере в текущий сеанс импортируется члены модуля PSDiagnostics.
Import-Module -Name PSDiagnostics
Пример 2. Импорт всех модулей, указанных путем модуля
В этом примере импортируются все доступные модули в пути, указанном переменной среды $Env:PSModulePath
в текущий сеанс.
Get-Module -ListAvailable | Import-Module
Пример 3. Импорт элементов нескольких модулей в текущий сеанс
В этом примере импортируются элементы модулей PSDiagnostics
$m = Get-Module -ListAvailable PSDiagnostics, Dism
Import-Module -ModuleInfo $m
Командлет Get-Module
получает PSDiagnostics и модули Dism и сохраняет объекты в переменной $m
. Параметр ListAvailable требуется при получении модулей, которые еще не импортированы в сеанс.
Пример 4. Импорт всех модулей, указанных путем
В этом примере используется явный путь для идентификации модуля для импорта.
Import-Module -Name C:\ps-test\modules\test -Verbose
VERBOSE: Loading module from path 'C:\ps-test\modules\Test\Test.psm1'.
VERBOSE: Exporting function 'my-parm'.
VERBOSE: Exporting function 'Get-Parameter'.
VERBOSE: Exporting function 'Get-Specification'.
VERBOSE: Exporting function 'Get-SpecDetails'.
Использование параметра подробных приводит к тому, что Import-Module
сообщать о ходе выполнения при загрузке модуля.
Без параметра Verbose, PassThru или AsCustomObject не Import-Module
создает выходные данные при импорте модуля.
Пример 5. Ограничение элементов модуля, импортированных в сеанс
В этом примере показано, как ограничить импорт элементов модуля в сеанс и влияние этой команды на сеанс. Параметр функции
Командлет Get-Module
получает объект, представляющий модуль PSDiagnostics. Свойство ExportedCmdlets содержит все командлеты, экспортируемые модулем, даже если они не были импортированы.
Import-Module PSDiagnostics -Function Disable-PSTrace, Enable-PSTrace
(Get-Module PSDiagnostics).ExportedCommands
Key Value
--- -----
Disable-PSTrace Disable-PSTrace
Disable-PSWSManCombinedTrace Disable-PSWSManCombinedTrace
Disable-WSManTrace Disable-WSManTrace
Enable-PSTrace Enable-PSTrace
Enable-PSWSManCombinedTrace Enable-PSWSManCombinedTrace
Enable-WSManTrace Enable-WSManTrace
Get-LogProperties Get-LogProperties
Set-LogProperties Set-LogProperties
Start-Trace Start-Trace
Stop-Trace Stop-Trace
Get-Command -Module PSDiagnostics
CommandType Name Version Source
----------- ---- ------- ------
Function Disable-PSTrace 6.1.0.0 PSDiagnostics
Function Enable-PSTrace 6.1.0.0 PSDiagnostics
В параметре Get-Command
модуля командлета показаны команды, импортированные из модуля PSDiagnostics. Результаты подтверждают, что импортированы только Disable-PSTrace
и Enable-PSTrace
командлетов.
Пример 6. Импорт элементов модуля и добавление префикса
В этом примере импортируется модуль PSDiagnostics в текущий сеанс, добавляет префикс в имена элементов, а затем отображаются имена элементов с префиксом. Параметр Import-Module
префикса добавляет x
префикс ко всем элементам, импортированным из модуля. Префикс применяется только к членам текущего сеанса. Он не изменяет модуль. Параметр PassThru возвращает объект модуля, представляющий импортированный модуль.
Import-Module PSDiagnostics -Prefix x -PassThru
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 6.1.0.0 PSDiagnostics {Disable-xPSTrace, Disable-xPSWSManCombinedTrace, Disable-xW...
Get-Command -Module PSDiagnostics
CommandType Name Version Source
----------- ---- ------- ------
Function Disable-xPSTrace 6.1.0.0 PSDiagnostics
Function Disable-xPSWSManCombinedTrace 6.1.0.0 PSDiagnostics
Function Disable-xWSManTrace 6.1.0.0 PSDiagnostics
Function Enable-xPSTrace 6.1.0.0 PSDiagnostics
Function Enable-xPSWSManCombinedTrace 6.1.0.0 PSDiagnostics
Function Enable-xWSManTrace 6.1.0.0 PSDiagnostics
Function Get-xLogProperties 6.1.0.0 PSDiagnostics
Function Set-xLogProperties 6.1.0.0 PSDiagnostics
Function Start-xTrace 6.1.0.0 PSDiagnostics
Function Stop-xTrace 6.1.0.0 PSDiagnostics
Get-Command
получает элементы, импортированные из модуля. В выходных данных показано, что члены модуля были правильно префиксированы.
Пример 7. Получение и использование пользовательского объекта
В этом примере показано, как получить и использовать пользовательский объект, возвращаемый Import-Module
.
Пользовательские объекты включают искусственные элементы, представляющие каждый из импортированных элементов модуля. Например, командлеты и функции в модуле преобразуются в методы скрипта пользовательского объекта.
Пользовательские объекты полезны в скриптах. Они также полезны, если несколько импортированных объектов имеют одинаковые имена. Использование метода скрипта объекта эквивалентно указанию полного имени импортированного члена, включая его имя модуля.
Параметр AsCustomObject доступен только при импорте модуля скрипта. Используется Get-Module
для определения того, какие из доступных модулей — это модуль скрипта.
Get-Module -List | Format-Table -Property Name, ModuleType -AutoSize
Name ModuleType
---- ----------
Show-Calendar Script
BitsTransfer Manifest
PSDiagnostics Manifest
TestCmdlets Script
...
$a = Import-Module -Name Show-Calendar -AsCustomObject -PassThru
$a | Get-Member
TypeName: System.Management.Automation.PSCustomObject
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Show-Calendar ScriptMethod System.Object Show-Calendar();
$a."Show-Calendar"()
Show-Calendar
Модуль скрипта импортируется с помощью параметра AsCustomObject для запроса пользовательского объекта и параметра PassThru для возврата объекта. Результирующий пользовательский объект сохраняется в переменной $a
.
Переменная $a
передана Get-Member
командлету, чтобы отобразить свойства и методы сохраненного объекта. В выходных данных показан метод скрипта Show-Calendar
.
Чтобы вызвать метод скрипта Show-Calendar
, имя метода должно быть заключено в кавычки, так как имя содержит дефис.
Пример 8. Повторное создание модуля в том же сеансе
В этом примере показано, как использовать параметр Import-Module
Force при повторном использовании модуля в том же сеансе. Параметр Force удаляет загруженный модуль и снова импортирует его.
Import-Module PSDiagnostics
Import-Module PSDiagnostics -Force -Prefix PS
Первая команда импортирует модуль PSDiagnostics. Вторая команда снова импортирует модуль, на этот раз с помощью параметра префикса.
Без параметра Force сеанс будет включать две копии каждого командлета PSDiagnostics , один со стандартным именем и одним с префиксным именем.
Пример 9. Выполнение команд, скрытых импортированными командами
В этом примере показано, как выполнять команды, скрытые импортированными командами. Модуль TestModule включает функцию с именем Get-Date
, которая возвращает год и день года.
Get-Date
Thursday, August 15, 2019 2:26:12 PM
Import-Module TestModule
Get-Date
19227
Get-Command Get-Date -All | Format-Table -Property CommandType, Name, ModuleName -AutoSize
CommandType Name ModuleName
----------- ---- ----------
Function Get-Date TestModule
Cmdlet Get-Date Microsoft.PowerShell.Utility
Microsoft.PowerShell.Utility\Get-Date
Thursday, August 15, 2019 2:28:31 PM
Первый Get-Date
командлет возвращает объект DateTime с текущей датой. После импорта модуля Get-Date
TestModule возвращает год и день года.
Использование параметра All для Get-Command
отображения всех Get-Date
команд в сеансе. Результаты показывают, что в сеансе есть две команды
Поскольку функции имеют приоритет над командлетами, функция Get-Date
из модуля TestModule testMod ule выполняется вместо командлета Get-Date
. Чтобы запустить исходную версию Get-Date
, необходимо указать имя команды с именем модуля.
Дополнительные сведения о приоритете команд в PowerShell см. в about_Command_Precedence.
Пример 10. Импорт минимальной версии модуля
В этом примере импортируется модуль PowerShellGet . Он использует параметр Import-Module
MinimumVersion для импорта только версии 2.0.0
или больше модуля.
Import-Module -Name PowerShellGet -MinimumVersion 2.0.0
Вы также можете использовать параметр
Пример 11. Импорт с помощью полного имени
В этом примере импортируется определенная версия модуля с помощью полнофункционального имени.
PS> Get-Module -ListAvailable PowerShellGet | Select-Object Name, Version
Name Version
---- -------
PowerShellGet 2.2.1
PowerShellGet 2.1.3
PowerShellGet 2.1.2
PowerShellGet 1.0.0.1
PS> Import-Module -FullyQualifiedName @{ModuleName = 'PowerShellGet'; ModuleVersion = '2.1.3'}
Пример 12. Импорт с помощью полного пути
В этом примере импортируется определенная версия модуля с помощью полного пути.
PS> Get-Module -ListAvailable PowerShellGet | Select-Object Path
Path
----
C:\Program Files\PowerShell\Modules\PowerShellGet\2.2.1\PowerShellGet.psd1
C:\Program Files\PowerShell\6\Modules\PowerShellGet\PowerShellGet.psd1
C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\2.1.2\PowerShellGet.psd1
C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PowerShellGet.psd1
PS> Import-Module -Name 'C:\Program Files\PowerShell\Modules\PowerShellGet\2.2.1\PowerShellGet.psd1'
Пример 13. Импорт модуля с удаленного компьютера
В этом примере показано, как использовать командлет Import-Module
для импорта модуля с удаленного компьютера.
Эта команда использует функцию неявного удаленного взаимодействия PowerShell.
При импорте модулей из другого сеанса можно использовать командлеты в текущем сеансе. Однако команды, использующие командлеты, выполняются в удаленном сеансе.
$s = New-PSSession -ComputerName Server01
Get-Module -PSSession $s -ListAvailable -Name NetSecurity
ModuleType Name ExportedCommands
---------- ---- ----------------
Manifest NetSecurity {New-NetIPsecAuthProposal, New-NetIPsecMainModeCryptoProposal, New-Ne...
Import-Module -PSSession $s -Name NetSecurity
Get-Command -Module NetSecurity -Name Get-*Firewall*
CommandType Name ModuleName
----------- ---- ----------
Function Get-NetFirewallAddressFilter NetSecurity
Function Get-NetFirewallApplicationFilter NetSecurity
Function Get-NetFirewallInterfaceFilter NetSecurity
Function Get-NetFirewallInterfaceTypeFilter NetSecurity
Function Get-NetFirewallPortFilter NetSecurity
Function Get-NetFirewallProfile NetSecurity
Function Get-NetFirewallRule NetSecurity
Function Get-NetFirewallSecurityFilter NetSecurity
Function Get-NetFirewallServiceFilter NetSecurity
Function Get-NetFirewallSetting NetSecurity
Get-NetFirewallRule -DisplayName "Windows Remote Management*" |
Format-Table -Property DisplayName, Name -AutoSize
DisplayName Name
----------- ----
Windows Remote Management (HTTP-In) WINRM-HTTP-In-TCP
Windows Remote Management (HTTP-In) WINRM-HTTP-In-TCP-PUBLIC
Windows Remote Management - Compatibility Mode (HTTP-In) WINRM-HTTP-Compat-In-TCP
New-PSSession
создает удаленный сеанс (PSSession) на Server01
компьютере.
PsSession сохраняется в переменной$s
.
При выполнении Get-Module
с параметром PSSession показано, что модуль NetSecurity установлен и доступен на удаленном компьютере. Эта команда эквивалентна использованию командлета Invoke-Command
для выполнения Get-Module
команды в удаленном сеансе. Рассмотрим пример.
Invoke-Command $s {Get-Module -ListAvailable -Name NetSecurity
Запуск Import-Module
с параметром PSSession импортирует модуль NetSecurity с удаленного компьютера в текущий сеанс. Командлет Get-Command
извлекает команды, которые начинаются и Get
включаются Firewall
из модуля NetSecurity . Выходные данные подтверждают, что модуль и его командлеты были импортированы в текущий сеанс.
Get-NetFirewallRule
Затем командлет получает правила брандмауэра удаленного Server01
управления Windows на компьютере. Это эквивалентно использованию командлета Invoke-Command
для запуска Get-NetFirewallRule
в удаленном сеансе.
Пример 14. Управление хранилищем на удаленном компьютере без операционной системы Windows
В этом примере администратор компьютера установил поставщик WMI обнаружения модулей, который позволяет использовать команды CIM, предназначенные для поставщика.
Командлет New-CimSession
создает сеанс на удаленном компьютере с именем RSDGF03. Сеанс подключается к службе WMI на удаленном компьютере. Сеанс CIM сохраняется в переменной $cs
.
Import-Module
использует CimSession для $cs
импорта модуля CIM хранилища с RSDGF03
компьютера.
Командлет Get-Command
отображает Get-Disk
команду в модуле хранилища . При импорте модуля CIM в локальный сеанс PowerShell преобразует файлы CDXML для каждой команды в скрипты PowerShell, которые отображаются как функции в локальном сеансе.
Хотя Get-Disk
он вводится в локальном сеансе, командлет неявно выполняется на удаленном компьютере, из которого он был импортирован. Команда возвращает объекты из удаленного компьютера в локальный сеанс.
$cs = New-CimSession -ComputerName RSDGF03
Import-Module -CimSession $cs -Name Storage
# Importing a CIM module, converts the CDXML files for each command into
# PowerShell scripts. These appear as functions in the local session.
Get-Command Get-Disk
CommandType Name ModuleName
----------- ---- ----------
Function Get-Disk Storage
# Use implicit remoting to query disks on the remote computer from which the
# module was imported.
Get-Disk
Number Friendly Name OperationalStatus Total Size Partition Style
------ ------------- ----------------- ---------- ---------------
0 Virtual HD ATA Device Online 40 GB MBR
Параметры
-Alias
Указывает псевдонимы, импортируемые этим командлетом из модуля в текущий сеанс. Введите разделенный запятыми список псевдонимов. Разрешено использование подстановочных символов.
Некоторые модули автоматически экспортируют выбранные псевдонимы в сеанс при импорте модуля. Этот параметр позволяет выбрать один из экспортированных псевдонимов.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-ArgumentList
Задает массив аргументов или значений параметров, передаваемых модулю скрипта во время команды Import-Module
. Этот параметр действителен только при импорте модуля скрипта.
Вы также можете ссылаться на параметр ArgumentList по его псевдониму, args. Дополнительные сведения о поведении ArgumentListсм. в about_Splatting.
Свойства параметра
Тип: | Object[] |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | Аргументы |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-AsCustomObject
Указывает, что этот командлет возвращает пользовательский объект с элементами, представляющими импортированные элементы модуля. Этот параметр действителен только для модулей скриптов.
При использовании параметра AsCustomObjectImport-Module
импортирует элементы модуля в сеанс, а затем возвращает объект PSCustomObject вместо объекта PSModuleInfo. Можно сохранить пользовательский объект в переменной и использовать перечисление доступа к членам для вызова элементов.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Assembly
Задает массив объектов сборки. Этот командлет импортирует командлеты и поставщики, реализованные в указанных объектах сборки. Введите переменную, содержащую объекты сборки или команду, которая создает объекты сборки. Можно также передать объект сборки в Import-Module
.
При использовании этого параметра импортируются только командлеты и поставщики, реализованные указанными сборками. Если модуль содержит другие файлы, они не импортируются и могут быть отсутствуют важные члены модуля. Используйте этот параметр для отладки и тестирования модуля или при его использовании автором модуля.
Свойства параметра
Тип: | Assembly[] |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
Assembly
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-CimNamespace
Задает пространство имен альтернативного поставщика CIM, предоставляющего модули CIM. Значением по умолчанию является пространство имен поставщика WMI обнаружения модулей.
Используйте этот параметр для импорта модулей CIM с компьютеров и устройств, которые не работают под управлением операционной системы Windows.
Этот параметр появился в Windows PowerShell 3.0.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
CimSession
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-CimResourceUri
Указывает альтернативное расположение для модулей CIM. Значением по умолчанию является URI ресурса поставщика WMI обнаружения модулей на удаленном компьютере.
Используйте этот параметр для импорта модулей CIM с компьютеров и устройств, которые не работают под управлением операционной системы Windows.
Этот параметр появился в Windows PowerShell 3.0.
Свойства параметра
Тип: | Uri |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
CimSession
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-CimSession
Указывает сеанс CIM на удаленном компьютере. Введите переменную, содержащую сеанс CIM или команду, которая получает сеанс CIM, например команду Get-CimSession .
Import-Module
используется подключение сеанса CIM для импорта модулей с удаленного компьютера в текущий сеанс. При использовании команд из импортированного модуля в текущем сеансе команды выполняются на удаленном компьютере.
Этот параметр можно использовать для импорта модулей с компьютеров и устройств, которые не работают под управлением операционной системы Windows, и компьютеры Windows с PowerShell, но не включены удаленное взаимодействие PowerShell.
Этот параметр появился в Windows PowerShell 3.0.
Свойства параметра
Тип: | CimSession |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
CimSession
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Cmdlet
Указывает массив командлетов, импортируемых этим командлетом из модуля в текущий сеанс. Разрешено использование подстановочных символов.
Некоторые модули автоматически экспортируют выбранные командлеты в сеанс при импорте модуля. Этот параметр позволяет выбрать один из экспортированных командлетов.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-DisableNameChecking
Указывает, что этот командлет подавляет сообщение, которое предупреждает вас при импорте командлета или функции, имя которого включает неоценимое слово или запрещенный символ.
По умолчанию при импорте модуля экспортируются командлеты или функции, у которых нет неутвержденных команд в их именах, PowerShell отображает следующее предупреждение:
ПРЕДУПРЕЖДЕНИЕ. Некоторые импортированные имена команд включают неутвержденные команды, которые могут сделать их менее обнаруживаемыми. Используйте подробный параметр для получения дополнительных сведений или типа Get-Verb, чтобы просмотреть список утвержденных команд.
Это сообщение является только предупреждением. Полный модуль по-прежнему импортируется, включая команды, не соответствующие требованиям. Хотя сообщение отображается для пользователей модуля, проблема именования должна быть устранена автором модуля.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Force
Этот параметр приводит к загрузке или перезагрузке модуля в верхней части текущей. Некоторые модули загружают внешние сборки. Сбой импорта при импорте модуля, загружающего более новую версию сборки. Параметр Force не может переопределить ошибку. Чтобы загрузить новую версию, необходимо запустить новый сеанс.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-FullyQualifiedName
Это значение может быть именем модуля, полной спецификацией модуля или путем к файлу модуля.
Если значение является путем, путь может быть полностью или относительным. Относительный путь разрешается относительно скрипта, содержащего инструкцию using.
Если значение является спецификацией имени или модуля, PowerShell выполняет поиск PSModulePath для указанного модуля.
Спецификация модуля — это хэш-файл, имеющий следующие ключи.
-
ModuleName
- Обязательный Указывает имя модуля. -
GUID
- Необязательный указывает GUID модуля. - Это также Обязательный, чтобы указать хотя бы один из трех приведенных ниже ключей.
-
ModuleVersion
. Указывает минимальную допустимую версию модуля. -
MaximumVersion
. Указывает максимальную допустимую версию модуля. -
RequiredVersion
. Указывает точную, требуемую версию модуля. Это невозможно использовать с другими ключами версии.
-
Свойства параметра
Тип: | |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
FullyQualifiedName
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
FullyQualifiedNameAndPSSession
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
FullyQualifiedNameAndWinCompat
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Function
Задает массив функций, импортируемых этим командлетом из модуля в текущий сеанс. Разрешено использование подстановочных символов. Некоторые модули автоматически экспортируют выбранные функции в сеанс при импорте модуля. Этот параметр позволяет выбрать один из экспортированных функций.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Global
Указывает, что этот командлет импортирует модули в глобальное состояние сеанса, чтобы они были доступны всем командам в сеансе.
По умолчанию при вызове командлета Import-Module
из командной строки, файла скрипта или скрипта все команды импортируются в глобальное состояние сеанса.
При вызове из другого модуля командлет импортирует команды в модуле Import-Module
, включая команды из вложенных модулей, в состояние сеанса вызывающего модуля.
Подсказка
Не следует вызывать Import-Module
из модуля. Вместо этого объявите целевой модуль как вложенный модуль в манифесте родительского модуля. Объявление вложенных модулей повышает возможность обнаружения зависимостей.
Глобальный параметр эквивалентен параметру Scope со значением Global.
Чтобы ограничить команды, экспортируемые модулем, используйте команду Export-ModuleMember
в модуле скрипта.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-MaximumVersion
Указывает максимальную версию. Этот командлет импортирует только версию модуля, который меньше указанного значения или равен ей. Если версия не квалифисируется, Import-Module
возвращает ошибку.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
Name
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
PSSession
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
CimSession
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
WinCompat
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-MinimumVersion
Указывает минимальную версию. Этот командлет импортирует только версию модуля, превышающую указанное значение или равное ей. Используйте имя параметра MinimumVersion или его псевдоним версии. Если версия отсутствует, Import-Module
создает ошибку.
Чтобы указать точную версию, используйте параметр RequiredVersion. Можно также использовать параметры модуля
Этот параметр появился в Windows PowerShell 3.0.
Свойства параметра
Тип: | Version |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | Версия |
Наборы параметров
Name
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
PSSession
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
CimSession
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
WinCompat
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-ModuleInfo
Задает массив объектов модуля для импорта. Введите переменную, содержащую объекты модуля, или команду, которая получает объекты модуля, например следующую команду: Get-Module -ListAvailable
. Можно также передать объекты модуля в Import-Module
.
Свойства параметра
Тип: | |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
ModuleInfo
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Name
Задает имена модулей для импорта. Введите имя модуля или имя файла в модуле, например .psd1
, или .psm1
.dll
.ps1
файл. Пути к файлам являются необязательными. Подстановочные знаки не разрешены. Вы также можете передать имена модулей и имена Import-Module
файлов.
Если опустить путь, Import-Module
ищет модуль в путях, сохраненных в переменной среды $Env:PSModulePath
.
При возможности укажите только имя модуля. При указании имени файла импортируются только элементы, реализованные в этом файле. Если модуль содержит другие файлы, они не импортируются и могут быть отсутствуют важные члены модуля.
Замечание
Хотя можно импортировать файл скрипта (.ps1
) в виде модуля, файлы скриптов обычно не структурированы, как файл модулей скриптов (.psm1
). Импорт файла скрипта не гарантирует, что он доступен в качестве модуля. Дополнительные сведения см. в разделе about_Modules.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
Name
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
PSSession
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
CimSession
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
WinCompat
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-NoClobber
Запрещает импорт команд с теми же именами, что и существующие команды в текущем сеансе. По умолчанию Import-Module
импортируют все экспортированные команды модуля.
Команды с одинаковыми именами могут скрывать или заменять команды в сеансе. Чтобы избежать конфликтов имен команд в сеансе, используйте параметры префикса или NoClobber. Дополнительные сведения о конфликтах имен и приоритете команд см. в разделе "Модули и конфликты имен" в about_Modules и about_Command_Precedence.
Этот параметр появился в Windows PowerShell 3.0.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | NoOverwrite |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-PassThru
Возвращает объект, представляющий импортированный модуль. По умолчанию этот командлет не создает выходные данные.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Prefix
Указывает префикс, который этот командлет добавляет в существительные в именах импортированных элементов модуля.
Используйте этот параметр, чтобы избежать конфликтов имен, которые могут возникать, когда разные члены сеанса имеют одно и то же имя. Этот параметр не изменяет модуль и не влияет на файлы, импортируемые модулем для собственного использования. Они называются вложенными модулями. Этот командлет влияет только на имена участников в текущем сеансе.
Например, если указать префикс UTC, а затем импортировать Get-Date
командлет, командлет известен в сеансе как Get-UTCDate
, и он не путается с исходным Get-Date
командлетом.
Значение этого параметра имеет приоритет над свойством DefaultCommandPrefix модуля, которое задает префикс по умолчанию.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-PSSession
Указывает сеанс, управляемый пользователем PowerShell (PSSession), из которого этот командлет импортирует модули в текущий сеанс. Введите переменную, содержащую PSSession или команду, которая получает PSSession, например команду Get-PSSession
.
При импорте модуля из другого сеанса в текущий сеанс можно использовать командлеты из модуля в текущем сеансе так же, как и командлеты из локального модуля. Команды, использующие удаленные командлеты, выполняются в удаленном сеансе, но сведения о удаленном взаимодействии управляются в фоновом режиме PowerShell.
Этот параметр использует функцию неявного удаленного взаимодействия PowerShell. Это эквивалентно использованию командлета Import-PSSession
для импорта определенных модулей из сеанса.
Import-Module
Не удается импортировать основные модули PowerShell из другого сеанса. Основные модули PowerShell имеют имена, начинающиеся с Microsoft.PowerShell.
Этот параметр появился в Windows PowerShell 3.0.
Свойства параметра
Тип: | PSSession |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
PSSession
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
FullyQualifiedNameAndPSSession
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-RequiredVersion
Указывает версию модуля, импортируемого этим командлетом. Если версия не установлена, Import-Module
возникает ошибка.
По умолчанию Import-Module
импортирует модуль без проверки номера версии.
Чтобы указать минимальную версию, используйте параметр MinimumVersion. Можно также использовать параметры модуля
Этот параметр появился в Windows PowerShell 3.0.
Скрипты, использующие RequiredVersion для импорта модулей, включенных в существующие выпуски операционной системы Windows, не выполняются автоматически в будущих выпусках операционной системы Windows. Это связано с тем, что номера версий модуля PowerShell в будущих выпусках операционной системы Windows выше, чем номера версий модуля в существующих выпусках операционной системы Windows.
Свойства параметра
Тип: | Version |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
Name
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
PSSession
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
CimSession
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
WinCompat
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Scope
Указывает область импорта модуля в.
Допустимые значения для этого параметра:
- Глобал. Доступно для всех команд в сеансе. Эквивалентен параметру Global.
- Местный. Доступно только в текущей области.
По умолчанию при вызове командлета Import-Module
из командной строки, файла скрипта или скрипта все команды импортируются в глобальное состояние сеанса. Параметр можно использовать -Scope Local
для импорта содержимого модуля в область скрипта или скрипта.
При вызове из другого модуля командлет Import-Module
импортирует команды в модуле, включая команды из вложенных модулей, в состояние сеанса вызывающего объекта. Указание -Scope Global
или -Global
указание того, что этот командлет импортирует модули в глобальное состояние сеанса, чтобы они были доступны для всех команд в сеансе.
Глобальный параметр эквивалентен параметру Scope со значением Global.
Этот параметр появился в Windows PowerShell 3.0.
Свойства параметра
Тип: | String |
Default value: | None |
Допустимые значения: | Local, Global |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-SkipEditionCheck
Пропускает проверку в CompatiblePSEditions
поле.
Позволяет загружать модуль из "$($Env:windir)\System32\WindowsPowerShell\v1.0\Modules"
каталога модуля в PowerShell Core, если этот модуль не указан Core
в поле манифеста CompatiblePSEditions
.
При импорте модуля из другого пути этот параметр ничего не делает, так как проверка не выполняется. В Linux и macOS этот переключатель ничего не делает.
Дополнительные сведения см. в about_PowerShell_Editions.
Предупреждение
Import-Module -SkipEditionCheck
скорее всего, не удается импортировать модуль. Даже если это выполнено успешно, вызов команды из модуля может завершиться ошибкой при попытке использовать несовместимый API.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
Name
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
PSSession
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
CimSession
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
FullyQualifiedName
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
FullyQualifiedNameAndPSSession
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
Assembly
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
ModuleInfo
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-UseWindowsPowerShell
Загружает модуль с помощью функций совместимости Windows PowerShell. Дополнительные сведения см. в about_Windows_PowerShell_Compatibility .
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | UseWinPS |
Наборы параметров
WinCompat
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
FullyQualifiedNameAndWinCompat
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Variable
Задает массив переменных, импортируемых этим командлетом из модуля в текущий сеанс. Введите список переменных. Разрешено использование подстановочных символов.
Некоторые модули автоматически экспортируют выбранные переменные в сеанс при импорте модуля. Этот параметр позволяет выбрать из экспортированных переменных.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
String
Имя модуля можно передать этому командлету.
PSModuleInfo
Объект модуля можно передать в этот командлет.
Assembly
Объект сборки можно передать в этот командлет.
Выходные данные
None
По умолчанию этот командлет не возвращает выходные данные.
PSModuleInfo
Если указать параметр PassThru , командлет создает объект System.Management.Automation.PSModuleInfo , представляющий импортированный модуль.
PSCustomObject
Если указать параметры AsCustomObject и PassThru вместе, командлет создает объект PSCustomObject , представляющий модуль.
Примечания
PowerShell включает следующие псевдонимы для Import-Module
:
Все платформы:
ipmo
Прежде чем импортировать модуль, модуль должен быть доступен локальному компьютеру и включен в
PSModulePath
переменную среды. Дополнительные сведения см. в разделе about_Modules.Можно также использовать параметры PSSession и CimSession для импорта модулей, установленных на удаленных компьютерах. Однако команды, использующие командлеты в этих модулях, выполняются в удаленном сеансе на удаленном компьютере.
При импорте элементов с тем же именем и тем же типом в сеанс PowerShell используется элемент, импортированный последним по умолчанию. Переменные и псевдонимы заменяются, и исходные версии недоступны. Функции, командлеты и поставщики просто затеняются новыми членами. К ним можно получить доступ, указав имя команды с именем оснастки, модуля или пути функции.
Чтобы обновить данные форматирования для команд, импортированных из модуля, используйте
Update-FormatData
командлет. Если файл форматирования для модуля изменяется, используйтеUpdate-FormatData
командлет для обновления данных форматирования для импортированных команд. Вам не нужно снова импортировать модуль.Начиная с Windows PowerShell 3.0 основные команды, установленные с Помощью PowerShell, упаковываются в модули. В Windows PowerShell 2.0 и в ведущих программах, которые создают сеансы более старого стиля в более поздних версиях PowerShell, основные команды упаковываются в оснастки (PSSnapins). Исключением является Microsoft.PowerShell.Core, которая всегда является оснасткой. Кроме того, удаленные сеансы, такие как запущенные командлетом
New-PSSession
, являются более старыми сеансами, включающими основные оснастки.Сведения о методе
CreateDefault2 , который создает сеансы нового стиля с основными модулями, см. вметодаCreateDefault2. В Windows PowerShell 2.0 некоторые значения свойств объекта модуля, такие как exportedCmdlets и NestedModules , не заполняются до импорта модуля.
Если вы пытаетесь импортировать модуль, содержащий сборки смешанного режима, несовместимые с Windows PowerShell 3.0+,
Import-Module
возвращает сообщение об ошибке, например следующее.Import-Module : сборка смешанного режима создается для версии 2.0.50727 среды выполнения и не может быть загружена в среду выполнения 4.0 без дополнительных сведений о конфигурации.
Эта ошибка возникает, когда модуль, предназначенный для Windows PowerShell 2.0, содержит по крайней мере одну сборку смешанного модуля. Сборка смешанного модуля, которая включает как управляемый, так и неуправляемый код, например C++ и C#.
Чтобы импортировать модуль, содержащий сборки смешанного режима, запустите Windows PowerShell 2.0 с помощью следующей команды, а затем повторите команду
Import-Module
.powershell.exe -Version 2.0
Чтобы использовать функцию сеанса CIM, удаленный компьютер должен иметь WS-Management удаленного взаимодействия и инструментария управления Windows (WMI), который является реализацией стандарта Common Information Model (CIM) Майкрософт. Компьютер также должен иметь поставщик WMI обнаружения модулей или альтернативный поставщик CIM, имеющий те же основные функции.
Вы можете использовать функцию сеанса CIM на компьютерах, которые не работают под управлением операционной системы Windows и на компьютерах Windows с PowerShell, но не включены удаленное взаимодействие PowerShell.
Можно также использовать параметры CIM для получения модулей CIM с компьютеров с включенным удаленного взаимодействия PowerShell, включая локальный компьютер. При создании сеанса CIM на локальном компьютере PowerShell использует DCOM вместо WMI для создания сеанса.
По умолчанию
Import-Module
импортирует модули в глобальной области даже при вызове из области потомка. Область верхнего уровня и все области-потомки имеют доступ к экспортируемым элементам модуля.В области потомков ограничивает импорт этой области
-Scope Local
и всех ее нисходящих областей. Затем родительские области не отображают импортированные элементы.Замечание
Get-Module
отображает все модули, загруженные в текущем сеансе. Сюда входят модули, загруженные локально в области потомков. ИспользуетсяGet-Command -Module modulename
для просмотра элементов, загруженных в текущей области.Import-Module
не загружает определения класса и перечисления в модуле. Используйте инструкциюusing module
в начале скрипта. Это импортирует модуль, включая определения класса и перечисления. Дополнительную информацию см. в разделе о использовании.Во время разработки модуля скрипта обычно вносятся изменения в код, а затем загружается новая версия модуля с помощью
с параметром Force. Это работает только для изменений функций в корневом модуле. Import-Module
не перезагрузит вложенные модули. Кроме того, нет способа загрузить обновленные классы или перечисления.Чтобы получить обновленные члены модуля, определенные в вложенных модулях, удалите модуль с
Remove-Module
помощью, а затем снова импортируйте модуль.Если модуль был загружен с
using
помощью инструкции, необходимо запустить новый сеанс для импорта обновленных определений для классов и перечислений. Классы и перечисления, определенные в PowerShell и импортированные с помощью инструкцииusing
, нельзя выгрузить.