Compartilhar via


Export-ModuleMember

Especifica os membros do módulo exportados.

Sintaxe

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

Description

O cmdlet Export-ModuleMember especifica os membros do módulo exportados de um arquivo de módulo de script (.psm1) ou de um módulo dinâmico criado usando o cmdlet New-Module. Os membros do módulo incluem cmdlets, funções, variáveis e aliases. Esse cmdlet só pode ser usado em um arquivo de módulo de script ou em um módulo dinâmico.

Se um módulo de script não incluir um comando Export-ModuleMember, as funções e os aliases no módulo de script serão exportados, mas as variáveis não serão. Quando um módulo de script inclui comandos Export-ModuleMember, somente os membros especificados nos comandos Export-ModuleMember são exportados. Você também pode usar Export-ModuleMember para suprimir ou exportar membros que o módulo de script importa de outros módulos.

Um comando Export-ModuleMember é opcional, mas é uma prática recomendada. Mesmo que o comando confirme os valores padrão, ele demonstra a intenção do autor do módulo.

Exemplos

Exemplo 1: exportar funções e aliases em um módulo de script

Export-ModuleMember -Function * -Alias *

Esse comando exporta todas as funções e aliases definidos no módulo de script.

Exemplo 2: exportar aliases e funções específicas

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

Esse comando exporta três aliases e três funções definidas no módulo de script.

Você pode usar esse formato de comando para especificar os nomes dos membros do módulo.

Exemplo 3: Exportar nenhum membro

Export-ModuleMember

Este comando especifica que nenhum membro definido no módulo de script é exportado.

Esse comando impede que os membros do módulo sejam exportados, mas não oculta os membros. Os usuários podem ler e copiar membros do módulo ou usar o operador de chamada (&) para invocar membros do módulo que não são exportados.

Exemplo 4: Exportar uma variável específica

Export-ModuleMember -Variable increment

Esse comando exporta apenas a variável $increment do módulo de script. Nenhum outro membro é exportado.

Se você quiser exportar uma variável, além de exportar as funções em um módulo, o comando Export-ModuleMember deverá incluir os nomes de todas as funções e o nome da variável.

Exemplo 5: vários comandos de exportação

# 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

Esses comandos mostram como vários comandos Export-ModuleMember são interpretados em um arquivo de módulo de script (.psm1).

Esses comandos criam três funções e um alias e exportam duas das funções e o alias.

Sem os comandos Export-ModuleMember , todas as três funções e o alias seriam exportados. Com os comandos Export-ModuleMember , somente as funções New-Test e Start-Test e o alias STT são exportados.

Exemplo 6: Exportar membros em um módulo dinâmico

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

Este comando mostra como usar Export-ModuleMember em um módulo dinâmico criado usando o cmdlet New-Module.

Neste exemplo, Export-ModuleMember é usado para exportar o alias Hi e a função SayHello no módulo dinâmico.

Exemplo 7: declarar e exportar uma função em um único comando

# From TestModule.psm1
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 {Write-Output 'I am New-Test function'}
function helper {Write-Output 'I am helper function'}

Export variable Interval 0
$Interval = 2

Este exemplo inclui uma função chamada Exportar que declara uma função ou cria uma variável e grava um comando Export-ModuleMember para a função ou variável. Isso permite declarar e exportar uma função ou variável em um único comando.

Para usar a função Exportar, inclua-a no módulo de script. Para exportar uma função, digite Export antes que a função palavra-chave.

Para exportar uma variável, use o seguinte formato para declarar a variável e definir seu valor:

Export variable <variable-name> <value>

Os comandos no exemplo mostram o formato correto. Neste exemplo, somente a função New-Test e a variável $Interval são exportadas.

Parâmetros

-Alias

Especifica os aliases exportados do arquivo de módulo de script. Insira os nomes de alias. Caracteres curinga são permitidos.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:True

-Cmdlet

Especifica os cmdlets exportados do arquivo do módulo de script. Insira os nomes do cmdlet. Caracteres curinga são permitidos.

Você não pode criar cmdlets em um arquivo de módulo de script, mas pode importar cmdlets de um módulo binário para um módulo de script e exportá-los novamente do módulo de script.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:True

-Function

Especifica as funções exportadas do arquivo do módulo de script. Insira os nomes de função. Caracteres curinga são permitidos. Você também pode canalizar cadeias de caracteres de nome de função para Export-ModuleMember.

Tipo:String[]
Cargo:0
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:True

-Variable

Especifica as variáveis exportadas do arquivo do módulo de script. Insira os nomes das variáveis, sem um sinal de dólar. Caracteres curinga são permitidos.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:True

Entradas

String

Você pode canalizar cadeias de caracteres de nome de função para este cmdlet.

Saídas

None

Esse cmdlet não gera nenhuma saída.

Observações

  • Para excluir um membro da lista de membros exportados, adicione um comando Export-ModuleMember que lista todos os outros membros, mas omite o membro que você deseja excluir.