Export-ModuleMember

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

Синтаксис

Export-ModuleMember
      [[-Function] <String[]>]
      [-Cmdlet <String[]>]
      [-Variable <String[]>]
      [-Alias <String[]>]
      [<CommonParameters>]

Описание

Командлет Export-ModuleMember указывает элементы модуля, экспортируемые из файла модуля скрипта (.psm1) или из динамического модуля, созданного с помощью командлета New-Module . Элементы модуля включают командлеты, функции, переменные и псевдонимы. Этот командлет может использоваться только в файле модуля скрипта или в динамическом модуле.

Если модуль скрипта не содержит Export-ModuleMember команду, функции и псевдонимы в модуле скрипта экспортируются, а переменные — нет. Если модуль скрипта содержит Export-ModuleMember команды, экспортируются только члены, указанные Export-ModuleMember в командах. Вы также можете использовать для Export-ModuleMember подавления или экспорта элементов, импортируемых модулем скрипта из других модулей.

Команда Export-ModuleMember является необязательной, но это рекомендуется. Даже если команда подтверждает значения по умолчанию, она демонстрирует намерения автора модуля.

Примеры

Пример 1. Экспорт функций и псевдонимов в модуле скрипта

Export-ModuleMember -Function * -Alias *

Эта команда экспортирует все функции и псевдонимы, определенные в модуле скрипта.

Пример 2. Экспорт определенных псевдонимов и функций

Export-ModuleMember -Function Get-Test, New-Test, Start-Test -Alias gtt, ntt, stt

Эта команда экспортирует три псевдонима и три функции, определенные в модуле скрипта.

Формат этой команды позволяет указать имена элементов модуля.

Пример 3. Экспорт элементов не выполняется

Export-ModuleMember

Эта команда указывает, что экспорт элементов, определенных в модуле скрипта, запрещен.

Она запрещает экспорт элементов модуля, но не скрывает элементы. Пользователи могут считывать и копировать элементы модуля или использовать оператор вызова (&) для вызова элементов модуля, которые не экспортируются.

Пример 4. Экспорт определенной переменной

Export-ModuleMember -Variable increment

Эта команда экспортирует только $increment переменную из модуля скрипта. Остальные элементы не экспортируются.

Если вы хотите экспортировать переменную, помимо экспорта функций в модуле, Export-ModuleMember команда должна включать имена всех функций и имя переменной.

Пример 5. Несколько команд экспорта

# From TestModule.psm1
function New-Test
{
    Write-Output 'I am New-Test function'
}
Export-ModuleMember -Function New-Test

function Validate-Test
{
    Write-Output 'I am Validate-Test function'
}
function Start-Test
{
    Write-Output 'I am Start-Test function'
}
Set-Alias stt Start-Test
Export-ModuleMember -Function Start-Test -Alias stt

Эти команды показывают, как несколько Export-ModuleMember команд интерпретируются в файле модуля скрипта (.psm1).

Они создают три функции и один псевдоним, а затем экспортируют две функции и псевдоним.

Export-ModuleMember Без команд все три функции и псевдоним будут экспортированы. Export-ModuleMember С помощью команд экспортируются только New-Test функции и Start-Test и STT псевдоним.

Пример 6. Экспорт элементов в динамический модуль

New-Module -Script {function SayHello {"Hello!"}; Set-Alias Hi SayHello; Export-ModuleMember -Alias Hi -Function SayHello}

Эта команда показывает, как использовать Export-ModuleMember в динамическом модуле, созданном с помощью командлета New-Module .

В этом примере Export-ModuleMember используется для экспорта псевдонима Hi и SayHello функции в динамическом модуле.

Параметры

-Alias

Задает псевдонимы, экспортируемые из файла модуля скрипта. Введите имена псевдонимов. Можно использовать подстановочные знаки.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Cmdlet

Задает командлеты, экспортируемые из файла модуля скрипта. Введите имена командлетов. Можно использовать подстановочные знаки.

В файле модуля скрипта нельзя создавать командлеты, однако, их можно импортировать из двоичного модуля в модуль скрипта и экспортировать из модуля скрипта.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Function

Задает функции, экспортируемые из файла модуля скрипта. Введите имена функций. Можно использовать подстановочные знаки. Вы также можете передать строки имен функций в Export-ModuleMember.

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Variable

Задает переменные, экспортируемые из файла модуля скрипта. Введите имена переменных без знака доллара ($). Можно использовать подстановочные знаки.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

Входные данные

String

Строки имен функций можно передать в этот командлет.

Выходные данные

None

Этот командлет не возвращает выходные данные.

Примечания

  • Чтобы исключить участника из списка экспортированных членов, добавьте Export-ModuleMember команду, которая выводит список всех остальных элементов, но пропускает член, который требуется исключить.