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指令,列出所有其他成員,但省略你想排除的成員。