Sdílet prostřednictvím


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

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

String

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.