Gibt die Modulelemente an, die exportiert werden.

Syntax

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

Beschreibung

Mit dem Cmdlet "Export-ModuleMember" werden die Modulelemente (wie Cmdlets, Funktionen, Variablen und Aliase) angegeben, die aus einer Skriptmoduldatei (".psm1") exportiert werden, oder aus einem dynamischen Modul, das mit dem Cmdlet "New-Module" erstellt wurde. Dieses Cmdlet kann nur in einer Skriptmoduldatei oder in einem dynamischen Modul verwendet werden.

Wenn der Befehl "Export-ModuleMember" nicht in einem Skriptmodul enthalten ist, werden die Funktionen im Skriptmodul, nicht jedoch die Variablen und Aliase exportiert. Wenn ein Skriptmodul den Befehl "Export-ModuleMember" enthält, werden nur die im Befehl "Export-ModuleMember" angegebenen Elemente exportiert.

Wenn ein Skriptmodul mehrere Export-ModuleMember-Befehle enthält, werden nur Elemente im jeweiligen Export-ModuleMember-Befehl exportiert.

Mit dem Befehl "Export-ModuleMember" können Sie auch Elemente exportieren, die vom Skriptmodul aus anderen Modulen exportiert werden.

Parameter

-Alias <string[]>

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

Erforderlich?

false

Position?

named

Standardwert

keine

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

true

-Cmdlet <string[]>

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

Cmdlets können nicht in einer Skriptmoduldatei erstellt werden. Sie können jedoch Cmdlets aus einem binären Modul in ein Skriptmodul importieren und anschließend wieder daraus exportieren.

Erforderlich?

false

Position?

named

Standardwert

keine

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

true

-Function <string[]>

Gibt die Funktionen an, die aus der Skriptmoduldatei exportiert werden. Geben Sie die Namen der Funktionen ein. Platzhalter sind zulässig. Namen von Funktionszeichenfolgen können auch über die Pipeline an Export-ModuleMember übergeben werden.

Erforderlich?

false

Position?

1

Standardwert

keine

Pipelineeingaben akzeptieren?

true (ByValue, ByPropertyName)

Platzhalterzeichen akzeptieren?

true

-Variable <string[]>

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

Erforderlich?

false

Position?

named

Standardwert

keine

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

true

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

System.String

Namen von Funktionszeichenfolgen können über die Pipeline an Export-ModuleMember übergeben werden.

Ausgaben

None

Dieses Cmdlet generiert keine Ausgabe.

Hinweise

Fügen Sie den Befehl "Export-ModuleMember" hinzu, mit dem nur die gewünschten Elemente aufgelistet werden, um bestimmte Elemente aus der Liste der exportierten Elemente auszuschließen.

Beispiel 1

C:\PS>Export-ModuleMember -function * -alias *

Beschreibung
-----------
Dieser Befehl exportiert die im Skriptmodul definierten Aliase sowie die im Skriptmodul definierten Funktionen. 

Um die Aliase zu exportieren, die standardmäßig nicht exportiert werden, müssen Sie auch die Funktionen explizit angeben. Andernfalls werden nur die Aliase exportiert.






Beispiel 2

C:\PS>Export-ModuleMember -function Get-Test, New-Test, Start-Test -alias gtt, ntt, stt

Beschreibung
-----------
Mit diesem Befehl werden drei Aliase und drei Funktionen exportiert, die im Skriptmodul definiert sind. 

Dieses Befehlsformat kann verwendet werden, um die Namen der Modulelemente anzugeben.






Beispiel 3

C:\PS>Export-ModuleMember

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

Dieser Befehl verhindert, dass die Modulelemente exportiert werden, er blendet die Elemente jedoch nicht aus. Benutzer können Modulelemente lesen und kopieren oder den Aufrufoperator (&) verwenden, um nicht exportierte Modulelemente aufzurufen.






Beispiel 4

C:\PS>Export-ModuleMember -variable increment

Beschreibung
-----------
Mit diesem Befehl wird nur die Variable "$increment" aus dem Skriptmodul exportiert. Weitere Elemente werden nicht exportiert. 

Wenn Sie eine Variable zusätzlich zu den Funktionen in einem Modul exportieren möchten, muss der Befehl "Export-ModuleMember" die Namen aller Funktionen und den Namen der Variablen einschließen.






Beispiel 5

C:\PS># From TestModule.psm1

function new-test 
    { <function code> }
export-modulemember -function new-test

function validate-test 
    { <function code> }

function start-test 
    { <function code> }
set-alias stt start-test
export-modulemember -function *-test -alias stt

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

Mit diesen Befehlen werden drei Funktionen und ein Alias erstellt, und zwei der Funktionen und der Alias werden exportiert.

Ohne die Export-ModuleMember-Befehle würden alle drei Funktionen exportiert, nicht jedoch der Alias. Mit den Export-ModuleMember-Befehlen werden nur die Funktion "Get-Test" und die Funktion "Start-Test" sowie der STT-Alias exportiert.






Beispiel 6

C:\PS>new-module -script {function SayHello {"Hello!"}; set-alias Hi SayHello; Export-ModuleMember -alias Hi -function SayHello}

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

In diesem Beispiel werden der Alias "Hi" und die Funktion "SayHello" mit "Export-ModuleMember" im dynamischen Modul exportiert.






Beispiel 7

C:\PS>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 
{
  ...
}


function helper
{
  ...
}

export variable interval 0
$interval = 2

Beschreibung
-----------
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 die Variable schreibt. Auf diese Weise können Sie eine Funktion oder Variable in einem einzelnen Befehl deklarieren und exportieren.

Um die Export-Funktion zu verwenden, schließen Sie sie in das Skriptmodul ein. Um eine Funktion zu exportieren, geben Sie "Export" vor dem Function-Schlüsselwort ein. 

Um eine Variable zu exportieren, verwenden Sie das folgende Format zum Deklarieren der Variablen und zum Festlegen ihres Werts:

    export variable <Variablenname> <Wert>

Die Befehle im Beispiel verfügen über das richtige Format. In diesem Beispiel werden nur die Funktion "New-Test" und die Variable "$Interval" exportiert.






Siehe auch




Inhaltsverzeichnis