Задает экспортируемые элементы модуля.
Синтаксис
Export-ModuleMember [[-Function] <string[]>] [-Alias <string[]>] [-Cmdlet <string[]>] [-Variable <string[]>] [<CommonParameters>]
Описание
Командлет Export-ModuleMember указывает элементы модуля (командлеты, функции, переменные и псевдонимы), которые могут быть экспортированы из файлы модуля скрипта (PSM1) или из динамического модуля, созданного с помощью командлета New-Module. Этот командлет может использоваться только в файле модуля скрипта или в динамическом модуле.
Если в модуль скрипта не входит команда Export-ModuleMember, то из модуля скрипта могут экспортироваться только функции (экспорт переменных и псевдонимов невозможен). Если в модуль скрипта входит команда Export-ModuleMember, то экспортироваться могут только те элементы, которые указаны в команде Export-ModuleMember.
Если в модуле скрипта содержится несколько команд Export-ModuleMember, то экспортироваться могут только те элементы, указанные в команде Export-ModuleMember.
Команда Export-ModuleMember также позволяет экспортировать элементы, импортируемые модулем скрипта из других модулей.
Параметры
-Alias <string[]>
Задает псевдонимы, экспортируемые из файла модуля скрипта. Введите имена псевдонимов. Подстановочные знаки разрешены.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
нет |
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
true |
-Cmdlet <string[]>
Задает командлеты, экспортируемые из файла модуля скрипта. Введите имена командлетов. Подстановочные знаки разрешены.
В файле модуля скрипта нельзя создавать командлеты, но можно импортировать командлеты из двоичного модуля в модуль скрипта и экспортировать их из модуля скрипта.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
нет |
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
true |
-Function <string[]>
Задает функции, экспортируемые из файла модуля скрипта. Введите имена функций. Подстановочные знаки разрешены. Кроме того, можно передать имена функций в Export-ModuleMember с помощью конвейера.
Обязательно? |
false |
Позиция? |
1 |
Значение по умолчанию |
нет |
Принимать входные данные из конвейера? |
true (ByValue, ByPropertyName) |
Принимать подстановочные знаки? |
true |
-Variable <string[]>
Задает переменные, экспортируемые из файла модуля скрипта. Введите имена переменных (без знака доллара). Подстановочные знаки разрешены.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
нет |
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
true |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
System.String Можно передать имена функций в Export-ModuleMember с помощью конвейера. |
Выходные данные |
None Этот командлет не формирует никаких выходных данных. |
Примечания
Чтобы исключить элемент из списка экспортируемых элементов, добавьте команду Export-ModuleMember, содержащую перечисление всех элементов, кроме тех, которые необходимо исключить.
Пример 1
C:\PS>Export-ModuleMember -function * -alias * Описание ----------- Эта команда экспортирует псевдонимы и функции, определенные в модуле скрипта. Чтобы экспортировать псевдонимы, которые не экспортируются по умолчанию, необходимо также явно указать функции. В противном случае будут экспортированы только псевдонимы.
Пример 2
C:\PS>Export-ModuleMember -function Get-Test, New-Test, Start-Test -alias gtt, ntt, stt Описание ----------- Эта команда экспортирует три псевдонима и три функции, определенные в модуле скрипта. Можно использовать формат этой команды для указания имен элементов модуля.
Пример 3
C:\PS>Export-ModuleMember Описание ----------- Эта команда указывает, что экспорт элементов, определенных в модуле скрипта, запрещен. Эта команда запрещает экспорт элементов модуля, но не скрывает элементы. Пользователи могут читать и копировать элементы модуля и использовать оператор вызова (&) для обращения к неэкспортируемым элементам модуля.
Пример 4
C:\PS>Export-ModuleMember -variable increment Описание ----------- Эта команда экспортирует из модуля скрипта только переменную $increment. Остальные элементы не экспортируются. Если необходимо экспортировать переменную в дополнение к экспорту функций в модуле, команда Export-ModuleMember должна содержать имена всех функций и имя переменной.
Пример 5
C:\PS># From TestModule.psm1 function new-test { <function code> } export-modulemember -function new-test function validate-test { <function code> } function start-test { <function code> } set-alias stt start-test export-modulemember -function *-test -alias stt Описание ----------- Эти команды демонстрируют обработку нескольких команд Export-ModuleMember, содержащихся в файле модуля скрипта (PSM1). Эта команда создает три функции и один псевдоним и экспортирует две функции и псевдоним. Если бы команда Export-ModuleMember не использовалась, то экспортировались бы все три функции, а псевдоним бы не экспортировался. При использовании команд Export-ModuleMember экспортируются функции Get-Test и Start-Test и псевдоним STT.
Пример 6
C:\PS>new-module -script {function SayHello {"Hello!"}; set-alias Hi SayHello; Export-ModuleMember -alias Hi -function SayHello} Описание ----------- Эта команда демонстрирует использование Export-ModuleMember в динамическом модуле, созданном с помощью командлета New-Module. В этом примере Export-ModuleMember используется в динамическом модуле для экспорта псевдонима "Hi" и функции "Say Hello".
Пример 7
C:\PS>function export { param ( [parameter(mandatory=$true)] [validateset("function","variable")] $type, [parameter(mandatory=$true)] $name, [parameter(mandatory=$true)] $value ) if ($type -eq "function") { Set-item "function:script:$name" $value Export-ModuleMember $name } else { Set-Variable -scope Script $name $value Export-ModuleMember -variable $name } } export function New-Test { ... } function helper { ... } export variable interval 0 $interval = 2 Описание ----------- Этот пример содержит функцию под названием Export, которая объявляет функцию или создает переменную, а затем записывает команду Export-ModuleMember для функции или переменной. Это позволяет объявлять и экспортировать функцию или переменную в одной команде. Чтобы использовать функцию Export, включите ее в модуль скрипта. Чтобы экспортировать функцию, введите "Export" до ключевого слова "Function". Чтобы экспортировать переменную, используйте следующий формат для объявления переменной и задания ее значения: export variable <имя_переменной> <значение> В примере показан правильный формат команд. В этом примере экспортируются только функция New-Test и переменная $Interval.
См. также