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
コマンドを使用すると、New-Test
関数とStart-Test
関数とSTT
エイリアスのみがエクスポートされます。
例 6: 動的モジュールのメンバーをエクスポートする
New-Module -Script {function SayHello {"Hello!"}; Set-Alias Hi SayHello; Export-ModuleMember -Alias Hi -Function SayHello}
このコマンドは、New-Module
コマンドレットを使用して作成された動的モジュールでExport-ModuleMember
を使用する方法を示します。
この例では、 Export-ModuleMember
を使用して、 Hi
エイリアスと SayHello
関数の両方を動的モジュールにエクスポートします。
パラメーター
-Alias
スクリプト モジュール ファイルからエクスポートされるエイリアスを指定します。 エイリアス名を入力します。 ワイルドカード文字を使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | True |
-Cmdlet
スクリプト モジュール ファイルからエクスポートされるコマンドレットを指定します。 コマンドレット名を入力します。 ワイルドカード文字を使用できます。
コマンドレットをスクリプト モジュール ファイルに作成することはできませんが、バイナリ モジュールからスクリプト モジュールにコマンドレットをインポートし、その後スクリプト モジュールからコマンドレットを再度エクスポートできます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | True |
-Function
スクリプト モジュール ファイルからエクスポートされる関数を指定します。 関数名を入力します。
ワイルドカード文字を使用できます。 関数名の文字列をパイプして Export-ModuleMember
することもできます。
型: | String[] |
配置: | 0 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | True |
-Variable
スクリプト モジュール ファイルからエクスポートされる変数を指定します。 変数名をドル記号 ($
) なしで入力します。 ワイルドカード文字を使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | True |
入力
関数名の文字列をこのコマンドレットにパイプできます。
出力
None
このコマンドレットは、出力を返しません。
メモ
- エクスポートされたメンバーの一覧からメンバーを除外するには、他のすべてのメンバーを一覧表示するが、除外するメンバーを省略する
Export-ModuleMember
コマンドを追加します。
関連リンク
PowerShell