Export-ModuleMember
Задает экспортируемые элементы модуля.
Синтаксис
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.