Export-ModuleMember
エクスポートするモジュール メンバーを指定します。
構文
Export-ModuleMember
[[-Function] <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[<CommonParameters>]
説明
このコマンドレットは Export-ModuleMember 、スクリプト モジュール (.psm1) ファイルまたはコマンドレットを使用して作成された動的モジュールからエクスポートされるモジュール メンバーを New-Module 指定します。 モジュール メンバーには、コマンドレット、関数、変数、エイリアスが含まれます。 このコマンドレットは、スクリプト モジュール ファイルまたは動的モジュールでのみ使用できます。
スクリプト モジュールにコマンドが含 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 つのエイリアスと 3 つの関数をエクスポートします。
このコマンド形式を使用すると、モジュール メンバーの名前を指定できます。
例 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のコマンドがどのように解釈されるかを示します。
これらのコマンドは、3 つの関数と 1 つのエイリアスを作成し、このうちの 2 つの関数とエイリアスをエクスポートします。
コマンドがないと Export-ModuleMember 、3 つの関数とエイリアスがすべてエクスポートされます。 コマンドをExport-ModuleMember使用すると、関数とStart-TestSTTエイリアスのみがNew-Testエクスポートされます。
例 6: 動的モジュールのメンバーをエクスポートする
New-Module -Script {function SayHello {"Hello!"}; Set-Alias Hi SayHello; Export-ModuleMember -Alias Hi -Function SayHello}
このコマンドは、コマンドレットを使用 Export-ModuleMember して作成された動的モジュールで使用する方法を New-Module 示します。
この例では、 Export-ModuleMember 動的モジュールのエイリアスと関数の Hi 両方を SayHello エクスポートするために使用します。
パラメーター
スクリプト モジュール ファイルからエクスポートされるエイリアスを指定します。 エイリアス名を入力します。 ワイルドカード文字を使用できます。
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | True |
スクリプト モジュール ファイルからエクスポートされるコマンドレットを指定します。 コマンドレット名を入力します。 ワイルドカード文字を使用できます。
コマンドレットをスクリプト モジュール ファイルに作成することはできませんが、バイナリ モジュールからスクリプト モジュールにコマンドレットをインポートし、その後スクリプト モジュールからコマンドレットを再度エクスポートできます。
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | True |
スクリプト モジュール ファイルからエクスポートされる関数を指定します。 関数名を入力します。
ワイルドカード文字を使用できます。 関数名の文字列をパイプ処理することもできます Export-ModuleMember。
| Type: | String[] |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | True |
スクリプト モジュール ファイルからエクスポートされる変数を指定します。 ドル記号 ($) を使用せずに変数名を入力します。 ワイルドカード文字を使用できます。
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | True |
入力
関数名の文字列をこのコマンドレットにパイプ処理できます。
出力
None
このコマンドレットは出力を生成しません。
メモ
- エクスポートされたメンバーのリストからメンバーを除外するには、他のすべてのメンバーを一覧表示するコマンドを追加
Export-ModuleMemberしますが、除外するメンバーは省略します。