Export-ModuleMember
Určuje členy modulu, které se exportují.
Syntaxe
Export-ModuleMember
[[-Function] <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[<CommonParameters>]
Description
Rutina Export-ModuleMember určuje členy modulu, které se exportují ze souboru modulu skriptu (.psm1) nebo z dynamického modulu vytvořeného pomocí rutiny New-Module. Členy modulu zahrnují rutiny, funkce, proměnné a aliasy. Tuto rutinu lze použít pouze v souboru modulu skriptu nebo dynamickém modulu.
Pokud modul skriptu neobsahuje příkaz Export-ModuleMember, funkce a aliasy v modulu skriptu se exportují, ale proměnné nejsou. Pokud skriptovací modul obsahuje příkazy Export-ModuleMember, exportují se jenom členy zadané v Export-ModuleMember příkazy. Pomocí Export-ModuleMember můžete také potlačit nebo exportovat členy, které modul skriptu importuje z jiných modulů.
Příkaz Export-ModuleMember je volitelný, ale je osvědčeným postupem. I když příkaz potvrdí výchozí hodnoty, ukazuje záměr autora modulu.
Příklady
Příklad 1: Export funkcí a aliasů v modulu skriptu
Export-ModuleMember -Function * -Alias *
Tento příkaz exportuje všechny funkce a aliasy definované v modulu skriptu.
Příklad 2: Export konkrétních aliasů a funkcí
Export-ModuleMember -Function Get-Test, New-Test, Start-Test -Alias gtt, ntt, stt
Tento příkaz exportuje tři aliasy a tři funkce definované v modulu skriptu.
Tento formát příkazu můžete použít k určení názvů členů modulu.
Příklad 3: Export žádných členů
Export-ModuleMember
Tento příkaz určuje, že nejsou exportovány žádné členy definované v modulu skriptu.
Tento příkaz zabrání exportu členů modulu, ale neskryje členy. Uživatelé mohou číst a kopírovat členy modulu nebo pomocí operátoru volání (&) vyvolat členy modulu, které nejsou exportovány.
Příklad 4: Export konkrétní proměnné
Export-ModuleMember -Variable increment
Tento příkaz exportuje pouze proměnnou $increment z modulu skriptu. Neexportují se žádní další členové.
Pokud chcete exportovat proměnnou, kromě exportu funkcí v modulu musí příkaz Export-ModuleMember obsahovat názvy všech funkcí a název proměnné.
Příklad 5: Více příkazů pro export
# 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
Tyto příkazy ukazují, jak se v souboru modulu skriptu (.psm1) interpretuje několik příkazů Export-ModuleMember.
Tyto příkazy vytvoří tři funkce a jeden alias a pak vyexportují dvě funkce a alias.
Bez příkazů Export-ModuleMember se exportují všechny tři funkce a alias. S příkazy Export-ModuleMember se exportují jenom funkce New-Test a Start-Test a alias STT.
Příklad 6: Export členů v dynamickém modulu
New-Module -Script {function SayHello {"Hello!"}; Set-Alias Hi SayHello; Export-ModuleMember -Alias Hi -Function SayHello}
Tento příkaz ukazuje, jak používat Export-ModuleMember v dynamickém modulu vytvořeném pomocí rutiny New-Module.
V tomto příkladu Export-ModuleMember slouží k exportu aliasu Hi i funkce SayHello v dynamickém modulu.
Příklad 7: Deklarace a export funkce v jednom příkazu
# 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
Tento příklad obsahuje funkci s názvem Export, která deklaruje funkci nebo vytvoří proměnnou, a pak zapíše Export-ModuleMember
příkaz pro funkci nebo proměnnou.
To umožňuje deklarovat a exportovat funkci nebo proměnnou v jednom příkazu.
Pokud chcete použít funkci Export, zahrňte ji do modulu skriptu.
Pokud chcete funkci exportovat, zadejte před klíčové slovo FunkceExport
Export
.
Pokud chcete exportovat proměnnou, deklarujte proměnnou pomocí následujícího formátu a nastavte její hodnotu:
Export variable <variable-name> <value>
Příkazy v příkladu zobrazují správný formát. V tomto příkladu se exportují pouze funkce New-Test a $Interval proměnná.
Parametry
-Alias
Určuje aliasy, které se exportují ze souboru modulu skriptu. Zadejte názvy aliasů. Jsou povoleny zástupné znaky.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
-Cmdlet
Určuje rutiny, které se exportují ze souboru modulu skriptu. Zadejte názvy rutin. Jsou povoleny zástupné znaky.
V souboru modulu skriptu nelze vytvářet rutiny, ale rutiny můžete importovat z binárního modulu do modulu skriptu a znovu je exportovat z modulu skriptu.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
-Function
Určuje funkce, které jsou exportovány ze souboru modulu skriptu. Zadejte názvy funkcí. Jsou povoleny zástupné znaky. Řetězce názvů funkcí můžete také Export-ModuleMember .
Typ: | String[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
-Variable
Určuje proměnné, které jsou exportovány ze souboru modulu skriptu. Zadejte názvy proměnných bez znaku dolaru. Jsou povoleny zástupné znaky.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
Vstupy
Do této rutiny můžete převést řetězce názvů funkcí.
Výstupy
None
Tato rutina negeneruje žádný výstup.
Poznámky
- Pokud chcete vyloučit člena ze seznamu exportovaných členů, přidejte Příkaz Export-ModuleMember, který obsahuje seznam všech ostatních členů, ale vynechá člena, kterého chcete vyloučit.