Freigeben über


Export-ModuleMember

Gibt die Modulmmber an, die exportiert werden.

Syntax

Default (Standard)

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

Beschreibung

Das Cmdlet Export-ModuleMember gibt die Modulmember an, die aus einer Skriptmoduldatei (PSM1) oder aus einem dynamischen Modul exportiert werden, das mit dem Cmdlet New-Module erstellt wurde. Modulmmber gehören Cmdlets, Funktionen, Variablen und Aliase. Dieses Cmdlet kann nur in einer Skriptmoduldatei oder einem dynamischen Modul verwendet werden.

Wenn ein Skriptmodul keinen Export-ModuleMember-Befehl enthält, werden die Funktionen und Aliase im Skriptmodul exportiert, die Variablen jedoch nicht. Wenn ein Skriptmodul Export-ModuleMember-Befehle enthält, werden nur die Member exportiert, die in den Export-ModuleMember-Befehlen angegeben sind. Sie können auch Export-ModuleMember verwenden, um Member zu unterdrücken oder zu exportieren, die das Skriptmodul aus anderen Modulen importiert.

Ein Export-ModuleMember-Befehl ist optional, aber es handelt sich um eine bewährte Methode. Auch wenn der Befehl die Standardwerte bestätigt, wird die Absicht des Modulautors veranschaulicht.

Beispiele

Beispiel 1: Exportieren von Funktionen und Aliasen in einem Skriptmodul

Export-ModuleMember -Function * -Alias *

Mit diesem Befehl werden alle im Skriptmodul definierten Funktionen und Aliase exportiert.

Beispiel 2: Exportieren bestimmter Aliase und Funktionen

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

Mit diesem Befehl werden drei Aliase und drei im Skriptmodul definierte Funktionen exportiert.

Sie können dieses Befehlsformat verwenden, um die Namen von Modulmitgliedern anzugeben.

Beispiel 3: Keine Mitglieder exportieren

Export-ModuleMember

Dieser Befehl gibt an, dass keine Elemente exportiert werden, die im Skriptmodul definiert sind.

Mit diesem Befehl wird verhindert, dass die Modulmmber exportiert werden, aber die Member werden nicht ausgeblendet. Benutzer können Modulmember lesen und kopieren oder den Aufrufoperator (&) verwenden, um Modulmember aufzurufen, die nicht exportiert werden.

Beispiel 4: Exportieren einer bestimmten Variablen

Export-ModuleMember -Variable increment

Mit diesem Befehl wird nur die Variable $increment aus dem Skriptmodul exportiert. Es werden keine anderen Member exportiert.

Wenn Sie eine Variable exportieren möchten, muss der Befehl Export-ModuleMember zusätzlich zum Exportieren der Funktionen in einem Modul die Namen aller Funktionen und den Namen der Variablen enthalten.

Beispiel 5: Mehrere Exportbefehle

# 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

Diese Befehle zeigen, wie mehrere Export-ModuleMember-Befehle in einer Skriptmoduldatei (PSM1) interpretiert werden.

Diese Befehle erstellen drei Funktionen und einen Alias und exportieren dann zwei der Funktionen und den Alias.

Ohne die Export-ModuleMember-Befehle würden alle drei Funktionen und der Alias exportiert werden. Mit den Befehlen Export-ModuleMember werden nur die Funktionen New-Test und Start-Test sowie der STT-Alias exportiert.

Beispiel 6: Exportieren von Mitgliedern in einem dynamischen Modul

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

Dieser Befehl zeigt, wie Export-ModuleMember in einem dynamischen Modul verwendet wird, das mit dem Cmdlet New-Module erstellt wird.

In diesem Beispiel wird Export-ModuleMember verwendet, um sowohl den Hi-Alias als auch die SayHello-Funktion im dynamischen Modul zu exportieren.

Beispiel 7: Deklarieren und Exportieren einer Funktion in einem einzigen Befehl

# 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

Dieses Beispiel enthält eine Funktion mit dem Namen Export , die eine Funktion deklariert oder eine Variable erstellt und dann einen Export-ModuleMember Befehl für die Funktion oder Variable schreibt. Auf diese Weise können Sie eine Funktion oder Variable in einem einzigen Befehl deklarieren und exportieren.

Um die Exportfunktion zu verwenden, fügen Sie sie in Ihr Skriptmodul ein. Um eine Funktion zu exportieren, geben Sie vor dem Function-Schlüsselwort einExport.

Um eine Variable zu exportieren, verwenden Sie das folgende Format, um die Variable zu deklarieren und ihren Wert festzulegen:

Export variable <variable-name> <value>

Die Befehle im Beispiel zeigen das richtige Format an. In diesem Beispiel werden nur die New-Test-Funktion und die Variable $Interval exportiert.

Parameter

-Alias

Gibt die Aliase an, die aus der Skriptmoduldatei exportiert werden. Geben Sie die Aliasnamen ein. Platzhalterzeichen sind zulässig.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Cmdlet

Gibt die Cmdlets an, die aus der Skriptmoduldatei exportiert werden. Geben Sie die Cmdlet-Namen ein. Platzhalterzeichen sind zulässig.

Sie können keine Cmdlets in einer Skriptmoduldatei erstellen, aber Sie können Cmdlets aus einem Binärmodul in ein Skriptmodul importieren und sie aus dem Skriptmodul erneut exportieren.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Function

Gibt die Funktionen an, die aus der Skriptmoduldatei exportiert werden. Geben Sie die Funktionsnamen ein. Platzhalterzeichen sind zulässig. Sie können auch Zeichenfolgen für Funktionsnamen über die Pipeline an Export-ModuleMember übergeben.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:0
Obligatorisch:False
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Variable

Gibt die Variablen an, die aus der Skriptmoduldatei exportiert werden. Geben Sie die Variablennamen ohne Dollarzeichen ein. Platzhalterzeichen sind zulässig.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

String

Sie können Funktionsnamenzeichenfolgen an dieses Cmdlet weiterleiten.

Ausgaben

None

Dieses Cmdlet generiert keine Ausgabe.

Hinweise

  • Wenn Sie ein Element aus der Liste der exportierten Elemente ausschließen möchten, fügen Sie den Befehl Export-ModuleMember hinzu, der alle anderen Elemente auflistet, aber das Element, das Sie ausschließen möchten, auslässt.