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
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.