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
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
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.