Export-ModuleMember

指定匯出的模組成員。

語法

Default (預設值)

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

Description

Export-ModuleMember cmdlet 指定從腳本模組.psm1()檔案匯出的模組成員,或是從使用該New-Module指令碼建立的動態模組匯出。 模組成員包括指令列(cmdlet)、函式、變數與別名。 此 cmdlet 只能用於腳本模組檔案或動態模組。

若腳本模組未包含 Export-ModuleMember 指令,則匯出該腳本模組中的函式與別名,但變數則不被匯出。 當腳本模組包含 Export-ModuleMember 指令時,只有指令中 Export-ModuleMember 指定的成員會被匯出。 你也可以用 Export-ModuleMember 來抑制或匯出腳本模組從其他模組匯入的成員。

指令 Export-ModuleMember 是可選的,但這是最佳實務。 即使指令確認了預設值,也顯示出模組作者的意圖。

範例

範例 1:在腳本模組中匯出函式與別名

Export-ModuleMember -Function * -Alias *

此指令匯出腳本模組中定義的所有函式與別名。

範例 2:匯出特定別名與函式

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

此指令匯出三個別名及三個在腳本模組中定義的函式。

你可以使用此指令格式來指定模組成員名稱。

範例 3:匯出無成員

Export-ModuleMember

此指令指定腳本模組中定義的任何成員都不會被匯出。

此指令阻止模組成員被匯出,但不會隱藏成員。 使用者可以讀取並複製模組成員,或使用呼叫運算子(&)來呼叫未匯出的模組成員。

範例 4:匯出特定變數

Export-ModuleMember -Variable increment

此指令僅 $increment 匯出腳本模組中的變數。 其他成員則不出口。

如果你想匯出變數,除了匯出模組中的函式外,指令 Export-ModuleMember 必須包含所有函式的名稱和變數名稱。

範例 5:多重匯出指令

# 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

這些指令展示了如何在腳本模組(.psm1)檔案中解讀多個Export-ModuleMember指令。

這些指令會建立三個函式和一個別名,然後匯出兩個函式和別名。

若沒有指令, Export-ModuleMember 三個函式和別名都會被匯出。 對於指令, Export-ModuleMember 只有 New-Test and Start-Test 函數和 STT 別名會被匯出。

範例 6:動態模組中的成員匯出

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

這個指令展示了如何在 Export-ModuleMember 使用 New-Module cmdlet 建立的動態模組中使用。

在此範例中, Export-ModuleMember 使用 來匯出 Hi alias 以及 SayHello 動態模組中的函式。

參數

-Alias

指定從腳本模組檔案匯出的別名。 這時,別名就出現了。 允許使用通配符字元。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:True
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Cmdlet

指定從腳本模組檔案匯出的指令長檔。 接著輸入指令檔名稱。 允許使用通配符字元。

你無法在腳本模組檔案中建立 cmdlets,但你可以從二進位模組匯入 cmdlet,再從腳本模組重新匯出。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:True
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Function

指定從腳本模組檔案匯出的函式。 輸入函式名稱。 允許使用通配符字元。 你也可以把函式名稱字串管道接到 Export-ModuleMember。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:True
不要顯示:False

參數集

(All)
Position:0
必要:False
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Variable

指定從腳本模組檔案匯出的變數。 輸入變數名稱,不使用美元符號($)。 允許使用通配符字元。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:True
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

CommonParameters

此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。

輸入

String

你可以把函式名稱字串管到這個 cmdlet。

輸出

None

此 Cmdlet 不會傳回任何輸出。

備註

  • 要從匯出成員清單中排除某成員,請新增一個 Export-ModuleMember 指令,列出所有其他成員,但省略你想排除的成員。