Export-ModuleMember
Anger de modulmedlemmar som exporteras.
Syntax
Export-ModuleMember
[[-Function] <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[<CommonParameters>]
Description
Cmdleten Export-ModuleMember anger de modulmedlemmar som exporteras från en skriptmodulfil (.psm1) eller från en dynamisk modul som skapats med hjälp av cmdleten New-Module. Modulmedlemmar omfattar cmdletar, funktioner, variabler och alias. Den här cmdleten kan endast användas i en skriptmodulfil eller en dynamisk modul.
Om en skriptmodul inte innehåller ett Export-ModuleMember--kommando exporteras funktionerna och aliasen i skriptmodulen, men variablerna är inte det. När en skriptmodul innehåller kommandon för Export-ModuleMember exporteras endast de medlemmar som anges i Export-ModuleMember kommandon. Du kan också använda Export-ModuleMember för att utelämna eller exportera medlemmar som skriptmodulen importerar från andra moduler.
Ett Export-ModuleMember kommando är valfritt, men det är en bra idé. Även om kommandot bekräftar standardvärdena visar det modulförfattarens avsikt.
Exempel
Exempel 1: Exportera funktioner och alias i en skriptmodul
Export-ModuleMember -Function * -Alias *
Det här kommandot exporterar alla funktioner och alias som definierats i skriptmodulen.
Exempel 2: Exportera specifika alias och funktioner
Export-ModuleMember -Function Get-Test, New-Test, Start-Test -Alias gtt, ntt, stt
Det här kommandot exporterar tre alias och tre funktioner som definierats i skriptmodulen.
Du kan använda det här kommandoformatet för att ange namnen på modulmedlemmar.
Exempel 3: Exportera inga medlemmar
Export-ModuleMember
Det här kommandot anger att inga medlemmar som definierats i skriptmodulen exporteras.
Det här kommandot förhindrar att modulmedlemmarna exporteras, men det döljer inte medlemmarna. Användare kan läsa och kopiera modulmedlemmar eller använda anropsoperatorn (&) för att anropa modulmedlemmar som inte exporteras.
Exempel 4: Exportera en specifik variabel
Export-ModuleMember -Variable increment
Det här kommandot exporterar endast variabeln $increment från skriptmodulen. Inga andra medlemmar exporteras.
Om du vill exportera en variabel, förutom att exportera funktionerna i en modul, måste kommandot Export-ModuleMember innehålla namnen på alla funktioner och namnet på variabeln.
Exempel 5: Flera exportkommandon
# 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
Dessa kommandon visar hur flera Export-ModuleMember kommandon tolkas i en skriptmodulfil (.psm1).
Dessa kommandon skapar tre funktioner och ett alias och exporterar sedan två av funktionerna och aliaset.
Utan kommandona Export-ModuleMember exporteras alla tre funktionerna och aliaset. Med kommandona Export-ModuleMember exporteras endast funktionerna New-Test och Start-Test och STT-aliaset.
Exempel 6: Exportera medlemmar i en dynamisk modul
New-Module -Script {function SayHello {"Hello!"}; Set-Alias Hi SayHello; Export-ModuleMember -Alias Hi -Function SayHello}
Det här kommandot visar hur du använder Export-ModuleMember i en dynamisk modul som skapas med hjälp av cmdleten New-Module.
I det här exemplet används Export-ModuleMember för att exportera både Hi-aliaset och funktionen SayHello i den dynamiska modulen.
Exempel 7: Deklarera och exportera en funktion i ett enda kommando
# 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
Det här exemplet innehåller en funktion med namnet Exportera som deklarerar en funktion eller skapar en variabel och sedan skriver ett Export-ModuleMember
kommando för funktionen eller variabeln.
På så sätt kan du deklarera och exportera en funktion eller variabel i ett enda kommando.
Om du vill använda funktionen Exportera tar du med den i skriptmodulen.
Om du vill exportera en funktion skriver du Export
före nyckelordet Function.
Om du vill exportera en variabel använder du följande format för att deklarera variabeln och ange dess värde:
Export variable <variable-name> <value>
Kommandona i exemplet visar rätt format. I det här exemplet exporteras endast funktionen New-Test och variabeln $Interval.
Parametrar
-Alias
Anger de alias som exporteras från skriptmodulfilen. Ange aliasnamnen. Jokertecken tillåts.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
-Cmdlet
Anger de cmdletar som exporteras från skriptmodulfilen. Ange cmdlet-namnen. Jokertecken tillåts.
Du kan inte skapa cmdletar i en skriptmodulfil, men du kan importera cmdletar från en binär modul till en skriptmodul och exportera dem från skriptmodulen igen.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
-Function
Anger de funktioner som exporteras från skriptmodulfilen. Ange funktionsnamnen. Jokertecken tillåts. Du kan också skicka funktionsnamnssträngar till Export-ModuleMember.
Typ: | String[] |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
-Variable
Anger de variabler som exporteras från skriptmodulfilen. Ange variabelnamnen utan dollartecken. Jokertecken tillåts.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
Indata
Du kan skicka funktionsnamnsträngar till den här cmdleten.
Utdata
None
Den här cmdleten genererar inga utdata.
Kommentarer
- Om du vill exkludera en medlem från listan över exporterade medlemmar lägger du till ett Export-ModuleMember-kommando som visar alla andra medlemmar men utelämnar den medlem som du vill undanta.