Export-ModuleMember
Especifica os membros do módulo que são exportados.
Sintaxe
Default (Predefinição)
Export-ModuleMember
[[-Function] <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[<CommonParameters>]
Description
O cmdlet Export-ModuleMember especifica os membros do módulo que são 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 pode ser usado somente 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 aliases no módulo de script serão exportados, mas as variáveis não.
Quando um módulo de script inclui
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 *
Este comando exporta todas as funções e aliases definidos no módulo de script.
Exemplo 2: Exportar aliases e funções específicos
Export-ModuleMember -Function Get-Test, New-Test, Start-Test -Alias gtt, ntt, stt
Este 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 sem membros
Export-ModuleMember
Este comando especifica que nenhum membro definido no módulo de script será exportado.
Este 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
Este 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 deve 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, em seguida, exportam duas das funções e o alias.
Sem os comandos
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,
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 Export que declara uma função ou cria uma variável e, em seguida, escreve 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 da palavra-chave Function.
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, apenas a função New-Test e a variável $Interval são exportadas.
Parâmetros
-Alias
Especifica os aliases que são exportados do arquivo de módulo de script. Insira os nomes dos alias. Caracteres coringa são permitidos.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Cmdlet
Especifica os cmdlets que são exportados do arquivo de módulo de script. Insira os nomes dos cmdlets. Caracteres coringa são permitidos.
Não é possível criar cmdlets em um arquivo de módulo de script, mas é possível importar cmdlets de um módulo binário para um módulo de script e reexportá-los do módulo de script.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Function
Especifica as funções que são exportadas do arquivo de módulo de script. Insira os nomes das funções. Caracteres coringa são permitidos. Você também pode canalizar cadeias de caracteres de nome de função para Export-ModuleMember.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Variable
Especifica as variáveis que são exportadas do arquivo de módulo de script. Insira os nomes das variáveis, sem cifrão. Caracteres coringa são permitidos.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
String
Você pode canalizar cadeias de caracteres de nome de função para este cmdlet.
Saídas
None
Este cmdlet não gera nenhuma saída.
Notas
- 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.