Compartir a través de


Export-ModuleMember

Especifica los miembros del módulo que se exportan.

Syntax

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

Description

El cmdlet Export-ModuleMember especifica los miembros del módulo que se exportan desde un archivo de módulo de script (.psm1) o desde un módulo dinámico creado mediante el cmdlet New-Module. Los miembros del módulo incluyen cmdlets, funciones, variables y alias. Este cmdlet solo se puede utilizar en un archivo de módulo de script o en un módulo dinámico.

Si un módulo de script no incluye un comando Export-ModuleMember , se exportan las funciones y alias del módulo de script, pero las variables no. Cuando un módulo de script incluye comandos Export-ModuleMember , solo se exportan los miembros especificados en los comandos Export-ModuleMember . También puede usar Export-ModuleMember para suprimir o exportar miembros que el módulo de script importa desde otros módulos.

Un comando Export-ModuleMember es opcional, pero es un procedimiento recomendado. Aunque el comando confirme los valores predeterminados, muestra la intención del autor del módulo.

Ejemplos

Ejemplo 1: Exportación de funciones y alias en un módulo de script

Export-ModuleMember -Function * -Alias *

Este comando exporta todas las funciones y alias definidos en el módulo de script.

Ejemplo 2: Exportación de alias y funciones específicos

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

Este comando exporta tres alias y tres funciones definidas en el módulo de script.

Puede utilizar este formato de comando para especificar los nombres de miembros de módulo.

Ejemplo 3: Exportar ningún miembro

Export-ModuleMember

Este comando especifica que no se exporta ninguno de los miembros definidos en el módulo de script.

El comando impide que se exporten los miembros del módulo, pero no los oculta. Los usuarios pueden leer y copiar los miembros del módulo o utilizar el operador de llamada (&) para invocar a los miembros que no se exportan.

Ejemplo 4: Exportación de una variable específica

Export-ModuleMember -Variable increment

Este comando exporta solo la variable $increment desde el módulo de script. No se exporta ningún otro miembro.

Si desea exportar una variable, además de exportar las funciones de un módulo, el comando Export-ModuleMember debe incluir los nombres de todas las funciones y el nombre de la variable.

Ejemplo 5: Varios comandos de exportación

# 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

Estos comandos muestran cómo se interpretan varios comandos Export-ModuleMember en un archivo de módulo de script (.psm1).

Los comandos crean tres funciones y un alias y, a continuación, exportan dos de las funciones y el alias.

Sin los comandos Export-ModuleMember , se exportarían las tres funciones y el alias. Con los comandos Export-ModuleMember , solo se exportan las funciones New-Test e Start-Test y el alias STT.

Ejemplo 6: Exportación de miembros en un módulo dinámico

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

Este comando muestra cómo usar Export-ModuleMember en un módulo dinámico que se crea mediante el cmdlet New-Module .

En este ejemplo, Export-ModuleMember se usa para exportar el alias Hi y la función SayHello en el módulo dinámico.

Ejemplo 7: Declarar y exportar una función en un solo 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

En este ejemplo se incluye una función denominada Export que declara una función o crea una variable y, a continuación, escribe un Export-ModuleMember comando para la función o variable. Esto permite declarar y exportar una función o una variable en un solo comando.

Para usar la función Export , inclúyalo en el módulo de script. Para exportar una función, escriba Export antes de la palabra clave Function .

Para exportar una variable, utilice el formato siguiente para declarar la variable y establecer su valor:

Export variable <variable-name> <value>

Los comandos del ejemplo muestran el formato correcto. En este ejemplo, solo se exportan la función New-Test y la variable $Interval.

Parámetros

-Alias

Especifica los alias que se exportan desde el archivo de módulo de script. Escriba los nombres de alias. Se permite el uso de caracteres comodín.

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

-Cmdlet

Especifica los cmdlets que se exportan desde el archivo de módulo de script. Escriba los nombres de cmdlet. Se permite el uso de caracteres comodín.

No se pueden crear cmdlets en un archivo de módulo de script, pero se pueden importar desde un módulo binario a módulo de script y, desde aquí, volver a exportarlos.

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

-Function

Especifica las funciones que se exportan desde el archivo de módulo de script. Escriba los nombres de función. Se permite el uso de caracteres comodín. También puede canalizar cadenas de nombre de función a Export-ModuleMember.

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

-Variable

Especifica las variables que se exportan desde el archivo de módulo de script. Escriba los nombres de las variables, sin signo de dólar. Se permite el uso de caracteres comodín.

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

Entradas

String

Puede canalizar cadenas de nombre de función a este cmdlet.

Salidas

None

Este cmdlet no genera ningún resultado.

Notas

  • Para excluir a un miembro de la lista de miembros exportados, agregue un comando Export-ModuleMember que muestre todos los demás miembros, pero omita el miembro que desea excluir.