PowerShell Cmdlet - Export-ModuleMember
 記事記号:[mf1948] 初版:2011/Sep/30

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    Export-ModuleMember
    
概要
    エクスポートするモジュール メンバーを指定します。
    
構文
    Export-ModuleMember [[-Function] <string[]>] [-Alias <string[]>] [-Cmdlet <s
    tring[]>] [-Variable <string[]>] [<CommonParameters>]
    
説明
    Export-ModuleMember コマンドレットは、スクリプト モジュール ファイル (.psm1) 
    から、または New-Module コマンドレットを使用することによって作成された動的モ
    ジュールからエクスポートするモジュール メンバー (コマンドレット、関数、変数、
    エイリアスなど) を指定します。このコマンドレットは、スクリプト モジュール フ
    ァイルまたは動的モジュールでのみ使用できます。
    
    スクリプト モジュールに Export-ModuleMember コマンドが含まれていない場合、ス
    クリプト モジュールの関数はエクスポートされますが、変数およびエイリアスはエ
    クスポートされません。スクリプト モジュールに Export-ModuleMember コマンドが
    含まれている場合、Export-ModuleMember コマンドで指定されたメンバーのみがエク
    スポートされます。
    
    スクリプト モジュールに複数の Export-ModuleMember コマンドが含まれている場合
    は、Export-ModuleMember コマンドに列挙されているメンバーだけがエクスポートさ
    れます。
    
    Export-ModuleMember を使用して、スクリプト モジュールが他のモジュールからイ
    ンポートするメンバーをエクスポートすることもできます。
    
パラメーター
    -Alias <string[]>
        スクリプト モジュール ファイルからエクスポートするエイリアスを指定します。
        エイリアス名を入力します。ワイルドカードを使用できます。
        
        必須                         false
        位置                         named
        既定値                       なし
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する true
        
    -Cmdlet <string[]>
        スクリプト モジュール ファイルからエクスポートするコマンドレットを指定し
        ます。コマンドレット名を入力します。ワイルドカードを使用できます。
        
        スクリプト モジュール ファイルでコマンドレットを作成することはできません
        が、コマンドレットをバイナリ モジュールからスクリプト モジュールにインポ
        ートし、スクリプト モジュールから再エクスポートすることができます。
        
        必須                         false
        位置                         named
        既定値                       なし
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する true
        
    -Function <string[]>
        スクリプト モジュール ファイルからエクスポートする関数を指定します。関数
        名を入力します。ワイルドカードを使用できます。パイプを使用して関数名文字
        列を Export-ModuleMember に渡すこともできます。
        
        必須                         false
        位置                         1
        既定値                       なし
        パイプライン入力を許可する   true (ByValue, ByPropertyName)
        ワイルドカード文字を許可する true
        
    -Variable <string[]>
        スクリプト モジュール ファイルからエクスポートする変数を指定します。変数
        名を入力します (ドル記号なし)。ワイルドカードを使用できます。
        
        必須                         false
        位置                         named
        既定値                       なし
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する true
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help 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 gt
    t, 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 SayHell
    o; 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")] $t
            ype,
            [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 関数と $Inte
    rval 変数のみがエクスポートされます。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=141551
    Import-Module 
    Get-Module 
    Remove-Module 
    about_Modules 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Export-ModuleMember
ご利用数: 1975168
感想・要望・問い合わせは こちら