エクスポートするモジュール メンバーを指定します。
構文
Export-ModuleMember [[-関数] <string[]>] [-エイリアス <string[]>] [-Cmdlet <string[]>] [-変数 <string[]>] [<CommonParameters>]
説明
Export-ModuleMember コマンドレットは、スクリプト モジュール ファイル (.psm1) から、または New-Module コマンドレットを使用することによって作成された動的モジュールからエクスポートするモジュール メンバー (コマンドレット、関数、変数、エイリアスなど) を指定します。このコマンドレットは、スクリプト モジュール ファイルまたは動的モジュールでのみ使用できます。
スクリプト モジュールに Export-ModuleMember コマンドが含まれていない場合、スクリプト モジュールの関数はエクスポートされますが、変数およびエイリアスはエクスポートされません。スクリプト モジュールに Export-ModuleMember コマンドが含まれている場合、Export-ModuleMember コマンドで指定されたメンバーのみがエクスポートされます。
スクリプト モジュールに複数の Export-ModuleMember コマンドが含まれている場合は、Export-ModuleMember コマンドに列挙されているメンバーだけがエクスポートされます。
Export-ModuleMember を使用して、スクリプト モジュールが他のモジュールからインポートするメンバーをエクスポートすることもできます。
パラメーター
-エイリアス <string[]>
スクリプト モジュール ファイルからエクスポートするエイリアスを指定します。エイリアス名を入力します。ワイルドカードを使用できます。
必須 |
false |
位置 |
named |
既定値 |
なし |
パイプライン入力を許可する |
true (ByPropertyName) |
ワイルドカード文字を許可する |
true |
-Cmdlet <string[]>
スクリプト モジュール ファイルからエクスポートするコマンドレットを指定します。コマンドレット名を入力します。ワイルドカードを使用できます。
スクリプト モジュール ファイルでコマンドレットを作成することはできませんが、コマンドレットをバイナリ モジュールからスクリプト モジュールにインポートし、スクリプト モジュールから再エクスポートすることができます。
必須 |
false |
位置 |
named |
既定値 |
なし |
パイプライン入力を許可する |
true (ByPropertyName) |
ワイルドカード文字を許可する |
true |
-関数 <string[]>
スクリプト モジュール ファイルからエクスポートする関数を指定します。関数名を入力します。ワイルドカードを使用できます。パイプを使用して関数名文字列を Export-ModuleMember に渡すこともできます。
必須 |
false |
位置 |
1 |
既定値 |
なし |
パイプライン入力を許可する |
true (ByValue, ByPropertyName) |
ワイルドカード文字を許可する |
true |
-変数 <string[]>
スクリプト モジュール ファイルからエクスポートする変数を指定します。変数名を入力します (ドル記号なし)。ワイルドカードを使用できます。
必須 |
false |
位置 |
named |
既定値 |
なし |
パイプライン入力を許可する |
true (ByPropertyName) |
ワイルドカード文字を許可する |
true |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。Ô”¼š¤Ë¤Ä¤¤¤Æ¤Ï¡¢次を参照してください: about_Commonparameters.
入力と出力
入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。
入力 |
System.String パイプを使用して関数名文字列を Export-ModuleMember に渡すことができます。 |
出力 |
None このコマンドレットは出力を生成しません。 |
注
エクスポートされるメンバーの一覧からメンバーを除外するには、除外するメンバー以外のすべての要素を指定した Export-ModuleMember コマンドを追加します。
例 1
C:\PS>Export-ModuleMember -function * -alias * 説明 ----------- このコマンドは、スクリプト モジュールで定義されたエイリアスを、スクリプト モジュールで定義された関数と共にエクスポートします 既定でエクスポートされないエイリアスをエクスポートするには、関数も明示的に指定する必要があります。そうしない場合、エイリアスのみがエクスポートされます。
例 2
C:\PS>Export-ModuleMember -function Get-Test, New-Test, Start-Test -alias gtt, ntt, stt 説明 ----------- このコマンドは、スクリプト モジュールで定義された 3 つのエイリアスおよび 3 つの関数をエクスポートします。 このコマンド形式を使用してモジュール メンバー名を指定できます。
例 3
C:\PS>Export-ModuleMember 説明 ----------- このコマンドは、スクリプト モジュールで定義されたメンバーをエクスポートしないことを指定します。 このコマンドを実行すると、モジュール メンバーのエクスポートが防止されますが、これらメンバーが見えなくなるわけではありません。ユーザーは、モジュール メンバーを読み取ってコピーすることも、呼び出し演算子 (&) を使用して、エクスポートされないモジュール メンバーを呼び出すこともできます。
例 4
C:\PS>Export-ModuleMember -variable increment 説明 ----------- このコマンドは、スクリプト モジュールから $increment 変数のみをエクスポートします。他のメンバーはエクスポートされません。 モジュール内の関数をエクスポートするだけでなく、変数のエクスポートも実行するには、エクスポートするすべての関数の名前と変数の名前を Export-ModuleMember コマンドに含める必要があります。
例 5
C:\PS># From TestModule.psm1 function new-test { <function code> } export-modulemember -function new-test function validate-test { <function code> } function start-test { <function code> } set-alias stt start-test export-modulemember -function *-test -alias stt 説明 ----------- これらのコマンドは、複数の Export-ModuleMember コマンドをスクリプト モジュール (.psm1) ファイルで解釈する方法を示しています。 これらのコマンドは、3 つの関数および 1 つのエイリアスを作成した後、2 つの関数およびエイリアスをエクスポートします。 Export-ModuleMember コマンドを使用しない場合、3 つすべての関数がエクスポートされますが、エイリアスはエクスポートされません。Export-ModuleMember コマンドを使用した場合、Get-Test 関数と Start-Test 関数、および STT エイリアスのみがエクスポートされます。
例 6
C:\PS>new-module -script {function SayHello {"Hello!"}; set-alias Hi SayHello; Export-ModuleMember -alias Hi -function SayHello} 説明 ----------- このコマンドは、Export-ModuleMember を、New-Module コマンドレットを使用して作成された動的モジュールで使用する方法を示しています。 この例では、Export-ModuleMember を使用して動的モジュールの "Hi" エイリアスおよび "SayHello" 関数を両方ともエクスポートします。
例 7
C:\PS>function export { param ( [parameter(mandatory=$true)] [validateset("function","variable")] $type, [parameter(mandatory=$true)] $name, [parameter(mandatory=$true)] $value ) if ($type -eq "function") { Set-item "function:script:$name" $value Export-ModuleMember $name } else { Set-Variable -scope Script $name $value Export-ModuleMember -variable $name } } export function New-Test { ... } function helper { ... } export variable interval 0 $interval = 2 説明 ----------- この例には、Export という関数が含まれています。この関数は、関数の宣言または変数の作成を行った後で、その関数または変数用の Export-ModuleMember コマンドを記述します。これにより、関数または変数の宣言とエクスポートを 1 つのコマンドで実行することが可能になります。 Export 関数を使用するには、スクリプト モジュールにこの関数を含めます。関数をエクスポートするには、Function キーワードの前に「Export」と入力します。 変数をエクスポートするには、次の形式で変数を宣言し、変数の値を設定します。 export variable <variable-name> <value> この例のコマンドは正しい形式を示しています。この例では、New-Test 関数と $Interval 変数のみがエクスポートされます。
関連項目