Delen via


Export-ModuleMember

Hiermee geeft u de moduleleden op die worden geëxporteerd.

Syntaxis

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

Description

De cmdlet Export-ModuleMember geeft de moduleleden op die worden geëxporteerd uit een scriptmodulebestand (.psm1) of uit een dynamische module die is gemaakt met behulp van de New-Module-cmdlet. Moduleleden omvatten cmdlets, functies, variabelen en aliassen. Deze cmdlet kan alleen worden gebruikt in een scriptmodulebestand of een dynamische module.

Als een scriptmodule geen opdracht Export-ModuleMember bevat, worden de functies en aliassen in de scriptmodule geëxporteerd, maar de variabelen niet. Wanneer een scriptmodule opdrachten voor Export-ModuleMember bevat, worden alleen de leden die zijn opgegeven in de Export-ModuleMember opdrachten geëxporteerd. U kunt ook Export-ModuleMember gebruiken om leden te onderdrukken of te exporteren die door de scriptmodule worden geïmporteerd uit andere modules.

Een opdracht Export-ModuleMember is optioneel, maar het is een best practice. Zelfs als de opdracht de standaardwaarden bevestigt, wordt de bedoeling van de auteur van de module gedemonstreert.

Voorbeelden

Voorbeeld 1: Functies en aliassen exporteren in een scriptmodule

Export-ModuleMember -Function * -Alias *

Met deze opdracht worden alle functies en aliassen geëxporteerd die zijn gedefinieerd in de scriptmodule.

Voorbeeld 2: Specifieke aliassen en functies exporteren

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

Met deze opdracht exporteert u drie aliassen en drie functies die zijn gedefinieerd in de scriptmodule.

U kunt deze opdrachtindeling gebruiken om de namen van moduleleden op te geven.

Voorbeeld 3: Geen leden exporteren

Export-ModuleMember

Met deze opdracht geeft u op dat er geen leden die in de scriptmodule zijn gedefinieerd, worden geëxporteerd.

Met deze opdracht voorkomt u dat de moduleleden worden geëxporteerd, maar de leden worden niet verborgen. Gebruikers kunnen moduleleden lezen en kopiëren of de oproepoperator (&) gebruiken om moduleleden aan te roepen die niet worden geëxporteerd.

Voorbeeld 4: Een specifieke variabele exporteren

Export-ModuleMember -Variable increment

Met deze opdracht wordt alleen de $increment variabele uit de scriptmodule geëxporteerd. Er worden geen andere leden geëxporteerd.

Als u een variabele wilt exporteren, moet naast het exporteren van de functies in een module de opdracht Export-ModuleMember de namen van alle functies en de naam van de variabele bevatten.

Voorbeeld 5: Meerdere exportopdrachten

# 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

Deze opdrachten laten zien hoe meerdere Export-ModuleMember opdrachten worden geïnterpreteerd in een scriptmodulebestand (.psm1).

Met deze opdrachten maakt u drie functies en één alias en exporteert u vervolgens twee van de functies en de alias.

Zonder de opdrachten Export-ModuleMember worden alle drie de functies en de alias geëxporteerd. Met de opdrachten Export-ModuleMember worden alleen de functies New-Test en Start-Test geëxporteerd en worden de STT-alias geëxporteerd.

Voorbeeld 6: Leden exporteren in een dynamische module

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

Deze opdracht laat zien hoe u Export-ModuleMember gebruikt in een dynamische module die is gemaakt met behulp van de cmdlet New-Module.

In dit voorbeeld wordt Export-ModuleMember gebruikt voor het exporteren van zowel de Hi-alias als de SayHello-functie in de dynamische module.

Voorbeeld 7: Een functie declareren en exporteren in één opdracht

# 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

Dit voorbeeld bevat een functie met de naam Exporteren die een functie declareert of een variabele maakt en vervolgens een Export-ModuleMember opdracht schrijft voor de functie of variabele. Hiermee kunt u een functie of variabele declareren en exporteren in één opdracht.

Als u de functie Exporteren wilt gebruiken, neemt u deze op in de scriptmodule. Als u een functie wilt exporteren, typt u Export vóór het trefwoord functie.

Als u een variabele wilt exporteren, gebruikt u de volgende notatie om de variabele te declareren en de waarde ervan in te stellen:

Export variable <variable-name> <value>

De opdrachten in het voorbeeld geven de juiste indeling weer. In dit voorbeeld worden alleen de functie New-Test en de variabele $Interval geëxporteerd.

Parameters

-Alias

Hiermee geeft u de aliassen die worden geëxporteerd uit het scriptmodulebestand. Voer de aliasnamen in. Jokertekens zijn toegestaan.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:True

-Cmdlet

Hiermee geeft u de cmdlets die worden geëxporteerd uit het scriptmodulebestand. Voer de namen van de cmdlets in. Jokertekens zijn toegestaan.

U kunt geen cmdlets maken in een scriptmodulebestand, maar u kunt cmdlets uit een binaire module importeren in een scriptmodule en ze opnieuw exporteren vanuit de scriptmodule.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:True

-Function

Hiermee geeft u de functies die worden geëxporteerd uit het scriptmodulebestand. Voer de functienamen in. Jokertekens zijn toegestaan. U kunt ook tekenreeksen voor functienamen doorsluisen naar Export-ModuleMember.

Type:String[]
Position:0
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:True

-Variable

Hiermee geeft u de variabelen op die worden geëxporteerd uit het scriptmodulebestand. Voer de namen van de variabelen in, zonder dollarteken. Jokertekens zijn toegestaan.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:True

Invoerwaarden

String

U kunt functienaamtekenreeksen naar deze cmdlet doorsluizen.

Uitvoerwaarden

None

Met deze cmdlet wordt geen uitvoer gegenereerd.

Notities

  • Als u een lid wilt uitsluiten van de lijst met geëxporteerde leden, voegt u een Export-ModuleMember toe opdracht met alle andere leden, maar laat u het lid weg dat u wilt uitsluiten.