PowerShell Cmdlet - Import-Module
 記事記号:[mg1908] 初版:2011/Sep/30

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

名前
    Import-Module
    
概要
    現在のセッションにモジュールを追加します。
    
構文
    Import-Module [-Name] <string[]> [-Alias <string[]>] [-ArgumentList <Object[
    ]>] [-AsCustomObject] [-Cmdlet <string[]>] [-Force] [-Function <string[]>] [
    -Global] [-PassThru] [-Prefix <string>] [-Variable <string[]>] [-Version <Ve
    rsion>] [<CommonParameters>]
    
    Import-Module [-Assembly] <Assembly[]> [-Alias <string[]>] [-ArgumentList <O
    bject[]>] [-AsCustomObject] [-Cmdlet <string[]>] [-Force] [-Function <string
    []>] [-Global] [-PassThru] [-Prefix <string>] [-Variable <string[]>] [-Versi
    on <Version>] [<CommonParameters>]
    
    Import-Module [-ModuleInfo] <PSModuleInfo[]> [-Alias <string[]>] [-ArgumentL
    ist <Object[]>] [-AsCustomObject] [-Cmdlet <string[]>] [-Force] [-Function <
    string[]>] [-Global] [-PassThru] [-Prefix <string>] [-Variable <string[]>] [
    -Version <Version>] [<CommonParameters>]
    
説明
    Import-Module コマンドレットは、現在のセッションに 1 つまたは複数のモジュール
    を追加します。
    
    モジュールとは、Windows PowerShell で使用できるメンバー (コマンドレット、プロ
    バイダー、スクリプト、関数、変数、その他のツールやファイルなど) が含まれてい
    るパッケージです。モジュールをインポートした後、モジュールのメンバーをセッシ
    ョンで使用できます。
    
    モジュールをインポートするには、Name、Assembly、または ModuleInfo パラメータ
    ーを使用して、インポートするモジュールを指定します。既定では、Import-Module 
    はモジュールがエクスポートするメンバーをすべてインポートしますが、Alias、Func
    tion、Cmdlet、および Variable パラメーターを使用して、インポートされるメンバ
    ーを制限することもできます。
    
    Import-Module は、モジュールを現在のセッションにのみインポートします。モジュ
    ールをすべてのセッションにインポートするには、Import-Module コマンドを Window
    s PowerShell プロファイルに追加します。プロファイルの詳細については、「about_
    Profiles」を参照してください。
    
    モジュールの詳細については、「about_Modules」を参照してください。
    
パラメーター
    -Alias <string[]>
        モジュールから、指定されたエイリアスのみを現在のセッションにインポートし
        ます。エイリアスのコンマ区切り一覧を入力します。ワイルドカード文字を使用
        できます。
        
        モジュールをインポートすると、一部のモジュールでは選択されたエイリアスを
        セッションに自動的にエクスポートします。このパラメーターを使用すると、エ
        クスポートされたエイリアスの中からエイリアスを選択することができます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する true
        
    -ArgumentList <Object[]>
        Import-Module コマンドの実行中にスクリプト モジュールに渡される引数 (パ
        ラメーター値) を指定します。このパラメーターは、スクリプト モジュールを
        インポートする場合にのみ有効です。
        
        ArgumentList は、エイリアス "args" で参照することもできます。詳細につい
        ては、「about_Aliases」を参照してください。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -AsCustomObject [<SwitchParameter>]
        インポートされたモジュール メンバーを表すメンバーを持つカスタム オブジェ
        クトを返します。このパラメーターは、スクリプト モジュールに対してのみ有
        効です。
        
        AsCustomObject パラメーターが使用された場合、Import-Module はモジュール 
        メンバーをセッションにインポートし、PSModuleInfo オブジェクトではなく、P
        SCustomObject オブジェクトを返します。変数にカスタム オブジェクトを保存
        し、ドット表記を使用してメンバーを呼び出すことができます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Assembly <Assembly[]>
        指定されたアセンブリ オブジェクトに実装されているコマンドレットとプロバ
        イダーをインポートします。アセンブリ オブジェクトを格納する変数か、アセ
        ンブリ オブジェクトを作成するコマンドを入力します。Import-Module にアセ
        ンブリ オブジェクトをパイプすることもできます。
        
        このパラメーターを使用すると、指定されたアセンブリによって実装されたコマ
        ンドレットとプロバイダーのみがインポートされます。モジュールにその他のフ
        ァイルが含まれている場合、それらのファイルはインポートされないため、モジ
        ュールの重要なメンバーを取得できない可能性があります。モジュールのデバッ
        グおよびテストを行う場合や、モジュール作成者によって使用するよう指示され
        た場合に、このパラメーターを使用します。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByValue)
        ワイルドカード文字を許可する false
        
    -Cmdlet <string[]>
        モジュールから、指定されたコマンドレットのみを現在のセッションにインポー
        トします。コマンドレットの一覧を入力します。ワイルドカード文字を使用でき
        ます。
        
        モジュールをインポートすると、一部のモジュールでは選択されたコマンドレッ
        トをセッションに自動的にエクスポートします。このパラメーターを使用すると、
        エクスポートされたコマンドレットの中からコマンドレットを選択することがで
        きます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する true
        
    -Force [<SwitchParameter>]
        モジュールまたはそのメンバーのアクセス モードが読み取り専用の場合でも、
        モジュールとそのメンバーを再インポートします。
        
        必須                         false
        位置                         named
        既定値                       False
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Function <string[]>
        モジュールから、指定された関数のみを現在のセッションにインポートします。
        関数の一覧を入力します。ワイルドカード文字を使用できます。
        
        モジュールをインポートすると、一部のモジュールでは選択された関数をセッシ
        ョンに自動的にエクスポートします。このパラメーターを使用すると、エクスポ
        ートされた関数の中から関数を選択することができます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する true
        
    -Global [<SwitchParameter>]
        このパラメーターは、スクリプト モジュール (.psm1) で使用されると、モジュ
        ールをグローバル セッション状態にインポートします。
        
        このパラメーターは、スクリプト モジュールに表示される場合にのみ有効です。
        それ以外の場合は、無視されます。
        
        既定では、入れ子になったモジュールのコマンドを含め、スクリプト モジュー
        ルのコマンドは、呼び出し元のセッション状態にインポートされます。モジュー
        ルがエクスポートするコマンドを制限するには、スクリプト モジュールで Expo
        rt-ModuleMember コマンドを使用してください。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -ModuleInfo <PSModuleInfo[]>
        インポートするモジュール オブジェクトを指定します。モジュール オブジェク
        トを格納する変数を入力するか、"get-module -listavailable" コマンドなど、
        モジュール オブジェクトを取得するコマンドを入力します。パイプを使用して
        モジュール オブジェクトを Import-Module に渡すこともできます。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByValue)
        ワイルドカード文字を許可する false
        
    -Name <string[]>
        インポートするモジュールの名前を指定します。.psd1、.psm1、.dll、.ps1 フ
        ァイルなど、モジュール名またはモジュールのファイル名を入力します。ファイ
        ル パスは省略可能です。ワイルドカードは使用できません。パイプを使用して
        モジュール名とファイル名を Import-Module に渡すこともできます。
        
        パスを省略した場合、Import-Module は PSModulePath 環境変数 ($env:PSModul
        ePath) に保存されているパスでモジュールを探します。
        
        できる限り、モジュール名のみを指定してください。ファイル名を指定した場合、
        そのファイルに実装されているメンバーのみがインポートされます。モジュール
        にその他のファイルが含まれている場合、それらのファイルはインポートされな
        いため、モジュールの重要なメンバーを取得できない可能性があります。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByValue)
        ワイルドカード文字を許可する false
        
    -PassThru [<SwitchParameter>]
        インポートされたモジュールを表すオブジェクトを返します。既定では、このコ
        マンドレットによる出力はありません。
        
        注
        -- PassThru パラメーターを使用して "get-module -listavailable" コマンド
        の出力を Import-Module コマンドにパイプすると、Import-Module はオブジェ
        クトを更新せずに、Get-Module から渡されたオブジェクトを返します。その結
        果、Exported プロパティおよび NestedModules プロパティはまだ設定されませ
        ん。
        
        -- Prefix パラメーターを使用してメンバーのプレフィックスを指定した場合、
        プレフィックスは、モジュール オブジェクトのプロパティのメンバー名には表
        示されません。オブジェクトは、プレフィックスが適用される前にエクスポート
        されたデータを記録します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Prefix <string>
        インポートされたモジュール メンバーの名前の名詞に、指定されたプレフィッ
        クスを追加します。
        
        同じセッションの異なるメンバーに同じ名前が付いている場合に発生する名前の
        競合を回避するには、このパラメーターを使用します。このパラメーターによっ
        てモジュールが変更されることはなく、モジュールが自己使用のためにインポー
        トするファイル (入れ子のモジュール) には影響しません。このパラメーターは、
        現在のセッションのメンバー名にのみ影響します。
        
        たとえば、プレフィックス "UTC" を指定して Get-Date コマンドレットをイン
        ポートした場合、このコマンドレットはセッションで Get-UTCDate として認識
        され、元の Get-Date コマンドレットと混同されることはありません。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Variable <string[]>
        モジュールから、指定された変数のみを現在のセッションにインポートします。
        変数の一覧を入力します。ワイルドカード文字を使用できます。
        
        モジュールをインポートすると、一部のモジュールでは選択された変数をセッシ
        ョンに自動的にエクスポートします。このパラメーターを使用すると、エクスポ
        ートされた変数の中から変数を選択することができます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する true
        
    -Version <Version>
        インポートするモジュールのバージョンを指定します。システム上に同じモジュ
        ールの異なるバージョンがある場合に、このパラメーターを使用します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.String、System.Management.Automation.PSModuleInfo、System.Reflection.
    Assembly
        パイプを使用して Import-Module にモジュール名、モジュール オブジェクト、
        またはアセンブリ オブジェクトを渡すことができます。
    
出力
    None、System.Management.Automation.PSModuleInfo、または System.Management.Au
    tomation.PSCustomObject
        既定では、Import-Module は出力を生成しません。PassThru パラメーターを使
        用すると、モジュールを表す System.Management.Automation.PSModuleInfo オ
        ブジェクトが生成されます。AsCustomObject パラメーターを使用すると、PSCu
        stomObject オブジェクトが生成されます。
    
メモ
        Import-Module をエイリアス "ipmo" で参照することもできます。詳細について
        は、「about_Aliases」を参照してください。
        
        モジュールをインポートするには、モジュールのディレクトリをローカル コン
        ピューターにアクセス可能なディレクトリにコピーしておく必要があります。詳
        細については、「about_Modules」を参照してください。
        
        モジュール メンバーは独自のプライベート モジュール セッション状態で実行 
        するので、内部処理に使用されるコマンドがセッション状態に影響することはあ
        りません。
        
        同じ名前および同じ型のメンバーをセッションにインポートした場合、既定では、
        最後にインポートされたメンバーが使用されます。変数およびエイリアスが置換
        され、元の値にはアクセスできません。関数、コマンドレット、およびプロバイ
        ダーは、新しいメンバーによって "隠れている" だけなので、コマンド名をその
        スナップイン名、モジュール名、または関数のパス名で修飾するとアクセスでき
        ます。
        
        モジュールからインポートされたコマンドの書式設定データを更新するには、Up
        date-FormatData コマンドレットを使用します。Update-FormatData は、モジュ
        ールからセッションにインポートされたコマンドの書式設定データも更新します。
        モジュールの書式設定ファイルが変更された場合は、Update-FormatData コマン
        ドを実行すると、インポートされたコマンドの書式設定データを更新できます。
        モジュールを再度インポートする必要はありません。
        
        現在のセッションの実行ポリシーが "Restricted" または "AllSigned" の場合
        は、Import-PSSession または Export-PSSession で作成されたモジュールをイ
        ンポートしないでください。Import-PSSession と Export-PSSession で作成さ
        れるモジュールには、これらのポリシーが禁止している署名なしのスクリプト 
        ファイルが含まれているためです。ローカル コンピューターの実行ポリシーを
        変更しないで Import-Module を使用するには、Set-ExecutionPolicy の Scope 
        パラメーターを使用して、単一のプロセスに制限の緩い実行ポリシーを設定しま
        す。
        
    -------------------------- 例 1 --------------------------
    
    C:\PS>import-module -name BitsTransfer
    
    説明
    -----------
    このコマンドは、BitsTransfer モジュールのメンバーを現在のセッションにインポ
    ートします。
    
    Name パラメーター名 (-Name) はオプションであるため、省略できます。
    
    既定では、Import-Module はモジュールをインポートする際に出力を生成しません。
    出力を要求するには、PassThru パラメーターや AsCustomObject パラメーター、ま
    たは Verbose 共通パラメーターを使用します。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>get-module -listAvailable | import-module
    
    説明
    -----------
    このコマンドは、PSModulePath 環境変数 ($env:psmodulepath) によって指定された
    パスで利用可能なすべてのモジュールを、現在のセッションにインポートします。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>$m = get-module -ListAvailable BitsTransfer, ServerBackup
    
    C:\PS> import-module -moduleInfo $m
    
    説明
    -----------
    これらのコマンドは、BitsTransfer モジュールと ServerBackup モジュールのメン
    バーを現在のセッションにインポートします。
    
    最初のコマンドは、Get-Module コマンドレットを使用して、BitsTransfer モジュー
    ルと ServerBackup モジュールを表す PSModuleInfo オブジェクトを取得します。オ
    ブジェクトは $m 変数に保存されます。ListAvailable パラメーターは、セッション
    にまだインポートされていないモジュールを取得する場合は必須です。
    
    2 番目のコマンドは、Import-Module の ModuleInfo パラメーターを使用して、モジ
    ュールを現在のセッションにインポートします。
    
    これらのコマンドを実行すると、パイプライン演算子 (|) を使用して Get-Module 
    コマンドの出力を Import-Module に送信した場合と同じ効果が得られます。
    
    -------------------------- 例 4 --------------------------
    
    C:\PS>import-module -name c:\ps-test\modules\test -verbose
    
    VERBOSE: Loading module from path 'C:\ps-test\modules\Test\Test.psm1'.
    VERBOSE: Exporting function 'my-parm'.
    VERBOSE: Exporting function 'get-parm'.
    VERBOSE: Exporting function 'get-spec'.
    VERBOSE: Exporting function 'get-specDetails'.
    
    説明
    -----------
    このコマンドは明示的なパスを使用して、インポートするモジュールを指定します。
    
    また、Verbose 共通パラメーターを使用して、モジュールからインポートする項目の
    一覧を取得します。Verbose、PassThru、または AsCustomObject パラメーターが指
    定されていない場合、Import-Module はモジュールのインポート時に出力を生成しま
    せん。
    
    -------------------------- 例 5 --------------------------
    
    C:\PS>import-module BitsTransfer -cmdlet Add-BitsTransferFile, Get-BitsTrans
    fer
    
    C:\PS> get-module BitsTransfer
    
    Name              : BitsTransfer
    Path              : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsT
                        ransfer\BitsTransfer.psd1
    Description       :
    Guid              : 8fa5064b-8479-4c5c-86ea-0d311fe48875
    Version           : 1.0.0.0
    ModuleBase        : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsT
                        ransfer
    ModuleType        : Manifest
    PrivateData       :
    AccessMode        : ReadWrite
    ExportedAliases   : {}
    ExportedCmdlets   : {[Add-BitsTransfer, Add-BitsTransfer], [Complete-BitsTra
                        nsfer, Complete-BitsTransfer], [Get-BitsTransfer, Get-Bi
                        tsTransfer], [Remove-BitsTransfer, Remove-BitsTransfer].
                        ..}
    ExportedFunctions : {}
    ExportedVariables : {}
    NestedModules     : {Microsoft.BackgroundIntelligentTransfer.Management}
    
    C:\PS> get-command -module BitsTransfer
    
    CommandType Name                Definition
    ----------- ----                ----------
    Cmdlet      Add-BitsTransfer    Add-BitsTransfer [-BitsJob] <BitsJob[]> [-So
                                    urce] <String[]> [[-Destination] <String[]>] 
                                    [-Verbose] [-Debug] [-ErrorA...
    Cmdlet      Get-BitsTransfer    Get-BitsTransfer [[-Name] <String[]>] [-AllU
                                    sers] [-Verbose] [-Debug] [-ErrorAction <Act
                                    ionPreference>] [-WarningActi...
    
    説明
    -----------
    この例は、セッションにインポートされたモジュール メンバーを制限する方法と、
    このコマンドがセッションに与える影響を示しています。
    
    最初のコマンドは、BitsTransfer モジュールから Add-BitsTransfer および Get-Bi
    tsTransfer コマンドレットのみをインポートします。このコマンドは Cmdlet  パラ
    メーターを使用して、モジュールがインポートするコマンドレットを制限します。Al
    ias、Variable、および Function パラメーターを使用して、モジュールがインポー
    トする他のメンバーを制限することもできます。
    
    2 番目のコマンドは Get-Module コマンドレットを使用して、BitsTransfer モジュ
    ールを表すオブジェクトを取得します。ExportedCmdlets プロパティは、すべてがイ
    ンポートされたかどうかにかかわらず、モジュールがエクスポートするすべてのコマ
    ンドレットを一覧表示します。
    
    3 番目のコマンドは Get-Command コマンドレットの Module パラメーターを使用し
    て、BitsTransfer モジュールからインポートされたコマンドを取得します。その結
    果から、Add-BitsTransfer および Get-BitsTransfer コマンドレットのみがインポ
    ートされたことを確認できます。
    
    -------------------------- 例 6 --------------------------
    
    C:\PS>import-module BitsTransfer -prefix PS -passthru
    
    Name              : bitstransfer
    Path              : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\bitst
                        ransfer\bitstransfer.psd1
    Description       :
    Guid              : 8fa5064b-8479-4c5c-86ea-0d311fe48875
    Version           : 1.0.0.0
    ModuleBase        : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\bitst
                        ransfer
    ModuleType        : Manifest
    PrivateData       :
    AccessMode        : ReadWrite
    ExportedAliases   : {}
    ExportedCmdlets   : {[Add-BitsTransfer, Add-BitsTransfer], [Remove-BitsTrans
                        fer, Remove-BitsTransfer], [Complete-BitsTransfer, Compl
                        ete-BitsTransfer], [Get-BitsTransfer, Get-BitsTransfer].
                        ..}
    ExportedFunctions : {}
    ExportedVariables : {}
    NestedModules     : {Microsoft.BackgroundIntelligentTransfer.Management}
    
    C:\PS> get-command -module bitstransfer
    
    CommandType     Name                        Definition
    -----------     ----                        ----------
    Cmdlet          Add-PSBitsTransfer          Add-PSBitsTransfer [-BitsJob] <B
                                                itsJob[]> [-Source] <String[]> ...
    Cmdlet          Complete-PSBitsTransfer     Complete-PSBitsTransfer [-BitsJo
                                                b] <BitsJob[]> [-Verbose] [-Deb...
    Cmdlet          Get-PSBitsTransfer          Get-PSBitsTransfer [[-Name] <Str
                                                ing[]>] [-AllUsers] [-Verbose] ...
    Cmdlet          Remove-PSBitsTransfer       Remove-PSBitsTransfer [-BitsJob] 
                                                <BitsJob[]> [-Verbose] [-Debug...
    Cmdlet          Resume-PSBitsTransfer       Resume-PSBitsTransfer [-BitsJob] 
                                                <BitsJob[]> [-Asynchronous] [-...
    Cmdlet          Set-PSBitsTransfer          Set-PSBitsTransfer [-BitsJob] <B
                                                itsJob[]> [-DisplayName <String...
    Cmdlet          Start-PSBitsTransfer        Start-PSBitsTransfer [[-Source] 
                                                <String[]>] [[-Destination] <St...
    Cmdlet          Suspend-PSBitsTransfer      Suspend-PSBitsTransfer [-BitsJob
                                                ] <BitsJob[]> [-Verbose] [-Debu...
    
    説明
    -----------
    これらのコマンドは、BitsTransfer モジュールを現在のセッションにインポートし、
    メンバー名にプレフィックスを追加してから、プレフィックスの付いたメンバー名を
    表示します。
    
    最初のコマンドは、Import-Module コマンドレットを使用して BitsTransfer モジュ 
    ールをインポートします。また、Prefix パラメーターを使用して、モジュールから
    インポートされるすべてのメンバーに PS というプレフィックスを追加し、PassThru 
    パラメーターを使用して、インポートされたモジュールを表すモジュール オブジェ
    クトを返します。
    
    コマンドが返すモジュール オブジェクトには、エクスポートされたメンバーを一覧
    表示する ExportedCmdlets プロパティがあります。プレフィックスは、メンバーが
    エクスポートされた後、インポートされる前に適用されるため、コマンドレット名に
    は表示されません。
    
    2 番目のコマンドは Get-Command コマンドレットを使用して、モジュールからイン
    ポートされたメンバーを取得します。このコマンドは、Module パラメーターを使用
    してモジュールを指定します。出力から、モジュール メンバーにプレフィックスが
    正しく追加されたことがわかります。
    
    使用するプレフィックスは、現在のセッションのメンバーのみに適用されます。モジ
    ュールは変更されません。
    
    -------------------------- 例 7 --------------------------
    
    C:\PS>get-module -list | format-table -property name, moduletype -auto
    
    Name          ModuleType
    ----          ----------
    Show-Calendar     Script
    BitsTransfer    Manifest
    PSDiagnostics   Manifest
    TestCmdlets       Script
    
    C:\PS> $a = import-module -name Show-Calendar -asCustomObject
    
    C:\PS> $a | get-member 
    
    
       TypeName: System.Management.Automation.PSCustomObject
    
    Name          MemberType   Definition
    ----          ----------   ----------
    Equals        Method       bool Equals(System.Object obj)
    GetHashCode   Method       int GetHashCode()
    GetType       Method       type GetType()
    ToString      Method       string ToString()
    Show-Calendar ScriptMethod System.Object Show-Calendar();
    
    C:\PS> $a."show-calendar"()
    
    説明
    -----------
    これらのコマンドは、Import-Module が返すカスタム オブジェクトの取得方法と使
    用方法を示します。
    
    カスタム オブジェクトには、インポートされた各モジュール メンバーを表す合成メ
    ンバーが含まれます。たとえば、モジュールのコマンドレットおよび関数は、カスタ
    ム オブジェクトのスクリプト メソッドに変換されます。
    
    カスタム オブジェクトはスクリプトに非常に役立ちます。また、インポートされた
    複数のオブジェクトが同じ名前を持つ場合にも役立ちます。オブジェクトのスクリプ
    ト メソッドを使用すると、モジュール名を含め、インポートされたメンバーの完全
    修飾名を指定した場合と同じ効果が得られます。
    
    AsCustomObject パラメーターはスクリプト モジュールでのみ使用できるため、まず
    利用可能なモジュールのうちでどのモジュールがスクリプト モジュールかを決定し
    ます。
    
    最初のコマンドは、Get-Module コマンドレットを使用して利用可能なモジュールを
    取得します。このコマンドはパイプライン演算子 (|) を使用して、モジュール オブ
    ジェクトを Format-Table コマンドレットに渡します。このコマンドレットは、各モ
    ジュールの Name および ModuleType を表形式で一覧表示します。
    
    2 番目のコマンドは、Import-Module コマンドレットを使用して、Show-Calendar ス
    クリプト モジュールをインポートします。このコマンドは AsCustomObject パラメ
    ーターを使用して、カスタム オブジェクトを要求します。このコマンドは、結果の
    カスタム オブジェクトを $a 変数に保存します。
    
    3 番目のコマンドは、パイプライン演算子を使用して、$a 変数を Get-Member コマ
    ンドレットに送信します。このコマンドレットは、$a の PSCustomObject のプロパ
    ティとメソッドを取得します。出力には Show-Calendar スクリプト メソッドが示さ
    れます。
    
    最後のコマンドは Show-Calendar スクリプト メソッドを使用します。メソッド名に
    はハイフンが含まれるため、引用符で囲む必要があります。
    
    -------------------------- 例 8 --------------------------
    
    C:\PS>import-module BitsTransfer
    
    C:\PS> import-module BitsTransfer -force -prefix PS
    
    説明
    -----------
    この例は、モジュールを同じセッションに再インポートする場合に Import-Module 
    の Force パラメーターを使用する方法を示しています。
    
    最初のコマンドは BitsTransfer モジュールをインポートします。2 番目のコマンド
    は、今度は Prefix パラメーターを使用してモジュールをインポートします。
    
    2 番目のコマンドには、モジュールを削除してから再インポートする Force パラメ
    ーターも含まれています。このパラメーターが指定されなかった場合、セッションに
    各 BitsTransfer コマンドレットのコピーが 2 つ含まれることになります (1 つは
    標準名、もう 1 つはプレフィックス付きの名前)。
    
    -------------------------- 例 9 --------------------------
    
    C:\PS>get-date
    
    Saturday, September 12, 2009 6:47:04 PM
    
    C:\PS> import-module TestModule
    
    C:\PS> get-date
    09255
    
    C:\PS> get-command get-date | format-table -property commandtype, name, pssn
    apin, module -auto
    
    CommandType  Name       pssnapin                       Module
    -----------  ----       --------                       ------
       Function  Get-Date                                  TestModule
         Cmdlet  Get-Date   Microsoft.PowerShell.Utility
    
    C:\PS> Microsoft.PowerShell.Utility\get-date
    
    Saturday, September 12, 2009 6:33:23 PM
    
    説明
    -----------
    この例は、インポートされたコマンドによって隠れた状態になっているコマンドの実
    行方法を示しています。
    
    最初のコマンドは、Windows PowerShell に付属の Get-Date コマンドレットを実行し
    ます。このコマンドは、現在の日付の DateTime オブジェクトを返します。
    
    2 番目のコマンドは、TestModule モジュールをインポートします。このモジュールに
    は、ユリウス暦の日付を返す Get-Date という名前の関数が含まれています。
    
    3 番目のコマンドは Get-Date コマンドをもう一度実行します。関数はコマンドレッ
    トより優先されるため、Get-Date コマンドレットではなく、TestModule の Get-Date 
    関数が実行されました。
    
    4 番目のコマンドは、セッションに 2 つの Get-Date コマンド (TestModule モジュ
    ールの関数と Microsoft.PowerShell.Utility スナップインのコマンドレット) があ
    ることを示します。
    
    5 番目のコマンドは、コマンド名をスナップイン名で修飾して、隠れたコマンドレッ
    トを実行します。
    
    Windows PowerShell のコマンド優先順位の詳細については、「about_command_preced
    ence」を参照してください。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=141553
    Get-Module 
    New-Module 
    Remove-Module 
    Export-ModuleMember 
    about_Modules 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Import-Module
ご利用数: 1917633
感想・要望・問い合わせは こちら