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 エクスポートするために使用します。

パラメーター

-Alias

スクリプト モジュール ファイルからエクスポートされるエイリアスを指定します。 エイリアス名を入力します。 ワイルドカード文字を使用できます。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Cmdlet

スクリプト モジュール ファイルからエクスポートされるコマンドレットを指定します。 コマンドレット名を入力します。 ワイルドカード文字を使用できます。

コマンドレットをスクリプト モジュール ファイルに作成することはできませんが、バイナリ モジュールからスクリプト モジュールにコマンドレットをインポートし、その後スクリプト モジュールからコマンドレットを再度エクスポートできます。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Function

スクリプト モジュール ファイルからエクスポートされる関数を指定します。 関数名を入力します。 ワイルドカード文字を使用できます。 関数名の文字列 Export-ModuleMemberをパイプすることもできます。

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Variable

スクリプト モジュール ファイルからエクスポートされる変数を指定します。 変数名をドル記号 ($) なしで入力します。 ワイルドカード文字を使用できます。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

入力

String

関数名の文字列をこのコマンドレットにパイプできます。

出力

None

このコマンドレットは、出力を返しません。

メモ

  • エクスポートされたメンバーのリストからメンバーを除外するには、他のすべてのメンバーを Export-ModuleMember 一覧表示するコマンドを追加しますが、除外するメンバーは省略します。