Export-ModuleMember
指定導出的模組成員。
Export-ModuleMember
[[-Function] <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[<CommonParameters>]
Export-ModuleMember
Cmdlet 會指定從腳本模組 (.psm1
) 檔案導出的模組成員,或從使用 New-Module
Cmdlet 建立的動態模塊成員。 模組成員包括 Cmdlet、函式、變數和別名。 此 Cmdlet 只能在腳本模組檔案或動態模組中使用。
如果文本模組不包含 Export-ModuleMember
命令,則會匯出腳本模組中的函式和別名,但變數則不會。 當文本模組包含 Export-ModuleMember
命令時,只會匯出 Export-ModuleMember
命令中指定的成員。 您也可以使用 Export-ModuleMember
來隱藏或匯出腳本模組從其他模組匯入的成員。
Export-ModuleMember
命令是選擇性的,但它是最佳做法。 即使命令確認預設值,也會示範模組作者的意圖。
Export-ModuleMember -Function * -Alias *
此命令會匯出文本模組中定義的所有函式和別名。
Export-ModuleMember -Function Get-Test, New-Test, Start-Test -Alias gtt, ntt, stt
此命令會匯出腳本模組中定義的三個別名和三個函式。
您可以使用此指令格式來指定模組成員的名稱。
Export-ModuleMember
此命令指定不會匯出文本模組中定義的成員。
此命令可防止導出模組成員,但不會隱藏成員。
用戶可以讀取和複製模組成員,或使用呼叫運算符 (&
) 來叫用未導出的模組成員。
Export-ModuleMember -Variable increment
此命令只會從腳本模組匯出 $increment
變數。
不會有其他成員被匯出。
如果您想要匯出變數,除了導出模組中的函式之外,Export-ModuleMember
命令必須包含所有函式的名稱和變數的名稱。
# 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
這些命令顯示文本模組 (Export-ModuleMember
) 檔案中如何解譯多個 .psm1
命令。
這些命令會建立三個函式和一個別名,然後匯出兩個函式和別名。
如果沒有 Export-ModuleMember
命令,則三個函式和其一個別名都會被導出。 使用 Export-ModuleMember
命令時,只會匯出 New-Test
和 Start-Test
函式和 STT
別名。
New-Module -Script {function SayHello {"Hello!"}; Set-Alias Hi SayHello; Export-ModuleMember -Alias Hi -Function SayHello}
此命令示範如何在使用 Export-ModuleMember
Cmdlet 所建立的動態模組中使用 New-Module
。
在此範例中,Export-ModuleMember
可用來導出動態模組中的 Hi
別名和 SayHello
函式。
指定從文稿模組檔案導出的別名。 輸入別名名稱。 允許使用通配符。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | True |
指定從指令碼模組檔案匯出的 Cmdlet。 輸入 Cmdlet 名稱。 允許使用通配符。
您無法在腳本模組檔案中建立 Cmdlet,但您可以將二進位模組中的 Cmdlet 匯入腳本模組,然後從腳本模組重新匯出。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | True |
指定從文稿模組檔案導出的函式。 輸入函式名稱。
允許使用通配符。 您也可以以管道方式將函式名稱字串傳送至 Export-ModuleMember
。
類型: | String[] |
Position: | 0 |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | True |
指定從文稿模組檔案導出的變數。 輸入變數名稱,不含貨幣符號字元 ($
)。 允許使用通配符。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | True |
您可以使用管道將函式名稱字串傳送至此 cmdlet。
None
此 Cmdlet 不會傳回任何輸出。
- 若要從導出成員清單中排除成員,請新增列出所有其他成員但省略您要排除之成員的
Export-ModuleMember
命令。