Задает экспортируемые элементы модуля.

Синтаксис

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.






См. также