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

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

名前
    Get-Module
    
概要
    現在のセッションにインポートされたモジュールまたはインポート可能なモジュール
    を取得します。
    
構文
    Get-Module [-All] [-ListAvailable] [-Name <string[]>] [<CommonParameters>]
    
    Get-Module [[-Name] <string[]>] [<CommonParameters>]
    
説明
    Get-Module コマンドレットは、セッションにインポートされたモジュールまたはイ
    ンポート可能なモジュールを取得します。
    
    Get-Module はモジュールを取得するだけで、インポートは実行しません。モジュー
    ルをセッションにインポートするには、Import-Module を使用します。

パラメーター
    -All [<SwitchParameter>]
        すべてのモジュール ファイルのモジュール オブジェクトを取得します。
        
        All パラメーターが指定されなかった場合、Get-Module は既定のモジュール フ
        ァイルのモジュール オブジェクトのみを取得します。コマンドレットは、マニ
        フェスト (.psd1) ファイル、スクリプト モジュール (.psm1) ファイル、バイ
        ナリ モジュール (.dll) ファイルの順にファイルの種類を選択します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -ListAvailable [<SwitchParameter>]
        セッションにインポートできるモジュールをすべて取得します。Get-Module は 
        $env:PSModulePath 環境変数で指定されたパスにあるモジュールを取得します。
        
        このパラメーターが指定されていない場合、Get-Module は、セッションにイン
        ポートされたモジュールのみを取得します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Name <string[]>
        指定した名前または名前のパターンを持つモジュールのみを取得します。ワイル
        ドカードを使用できます。パイプを使用して名前を Get-Module に渡すこともで
        きます。
        
        必須                         false
        位置                         1
        既定値                       インポートされたすべてのモジュールまたは利
                                     用可能なすべてのモジュール。
        パイプライン入力を許可する   true (ByValue)
        ワイルドカード文字を許可する true
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.String
        パイプを使用してモジュール名を Get-Module に渡すことができます。
    
出力
    System.Management.Automation.PSModuleInfo
        Get-Module は、モジュールを表すオブジェクトを返します。
    
メモ
        Get-Module をエイリアス "gmo" で参照することもできます。詳細については、
        「about_Aliases」を参照してください。
        
        All パラメーターは、コマンドレットまたはプロバイダーを実装していなくても、
        ファイル名拡張子 .dll を持つすべてのファイルに対応するモジュール オブジ
        ェクトを返します。
        
    -------------------------- 例 1 --------------------------
    
    C:\PS>get-module
    
    説明
    -----------
    このコマンドは、現在のセッションにインポートされたモジュールを取得します。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>get-module -listAvailable
    
    説明
    -----------
    このコマンドは、現在のセッションにインポート可能なモジュールを取得します。
    
    Get-Module は、$env:PSModulePath 環境変数によって指定されたパスで利用可能な
    モジュールを探します。PSModulePath の詳細については、「about_Modules」と「ab
    out_Environment_Variables」を参照してください。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>get-module -listAvailable -all
    
    説明
    -----------
    このコマンドは、利用可能なすべてのモジュールのエクスポートされたファイルをす
    べて取得します。
    
    -------------------------- 例 4 --------------------------
    
    C:\PS>get-module | get-member -type property
    
       TypeName: System.Management.Automation.PSModuleInfo
    
    Name              MemberType Definition
    ----              ---------- ----------
    AccessMode        Property   System.Management.Automation.ModuleAcc
    Description       Property   System.String Description {get;set;}
    ExportedAliases   Property   System.Collections.Generic.Dictionary`
    ExportedCmdlets   Property   System.Collections.Generic.Dictionary`
    ExportedFunctions Property   System.Collections.Generic.Dictionary`
    ExportedVariables Property   System.Collections.Generic.Dictionary`
    Guid              Property   System.Guid Guid {get;}
    ModuleBase        Property   System.String ModuleBase {get;}
    ModuleType        Property   System.Management.Automation.ModuleTyp
    Name              Property   System.String Name {get;}
    NestedModules     Property   System.Collections.ObjectModel.ReadOnl
    OnRemove          Property   System.Management.Automation.ScriptBlo
    Path              Property   System.String Path {get;}
    PrivateData       Property   System.Object PrivateData {get;set;}
    SessionState      Property   System.Management.Automation.SessionSt
    Version           Property   System.Version Version {get;}
    
    説明
    -----------
    このコマンドは、Get-Module によって返された PSModuleInfo オブジェクトのプロ
    パティを取得します。各モジュール ファイルに対して 1 つのオブジェクトがありま
    す。
    
    プロパティを使用して、モジュール オブジェクトを書式設定およびフィルター処理
    できます。プロパティの詳細については、MSDN (Microsoft Developer Network) ラ
    イブラリの「PSModule プロパティ」(http://go.microsoft.com/fwlink/?LinkId=143
    624) を参照してください。
    
    -------------------------- 例 5 --------------------------
    
    C:\PS>get-module -listAvailable -all | format-table -property name, modulety
    pe, path -groupby name -auto
    
       Name: MyTestCmdlets
    
    Name          ModuleType Path
    ----          ---------- ----
    MyTestCmdlets     Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
                             TestCmdlets\TestCmdlets.dll
    
       Name: PSDiagnostics
    
    Name          ModuleType Path
    ----          ---------- ----
    PSDiagnostics   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
                             PSDiagnostics\PSDiagnostics.psd1
    PSDiagnostics     Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
                             PSDiagnostics\PSDiagnostics.psm1
    
       Name: FileTransfer
    
    Name         ModuleType Path
    ----         ---------- ----
    FileTransfer   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
                            FileTransfer\FileTransfer.psd1
    
    説明
    -----------
    このコマンドは、すべてのモジュール ファイル (インポートされたファイルおよび
    利用可能なファイル) を取得し、モジュール名に基づいてグループ化します。これ
    により、各スクリプトがエクスポートしているモジュール ファイルを確認できます。
    
    -------------------------- 例 6 --------------------------
    
    C:\PS>$m = get-module -list -name FileTransfer | where {$_.moduletype -eq "
    Manifest"}
    
    C:\PS> get-content $m.path
    
    @{
    GUID="{8FA5064B-8479-4c5c-86EA-0D311FE48875}"
    Author="Microsoft Corporation"
    CompanyName="Microsoft Corporation"
    Copyright="c Microsoft Corporation. All rights reserved."
    ModuleVersion="1.0.0.0"
    Description="Windows Powershell File Transfer Module"
    PowerShellVersion="2.0"
    CLRVersion="2.0"
    NestedModules="Microsoft.BackgroundIntelligentTransfer.Management"
    FormatsToProcess="FileTransfer.Format.ps1xml"
    RequiredAssemblies=Join-Path $psScriptRoot "Microsoft.BackgroundIntelligentT
    ransfer.Management.Interop.dll"
    }
    
    説明
    -----------
    これらのコマンドは、Windows PowerShell File Transfer モジュールのモジュール 
    マニフェストの内容を表示します。
    
    最初のコマンドは、File Transfer モジュールのモジュール マニフェストを表す PS
    ModuleInfo オブジェクトを取得します。オブジェクトは $m 変数に保存されます。
    
    2 番目のコマンドは、ドット表記を使用してオブジェクトの Path プロパティに保存
    されているマニフェスト ファイルへのパスを取得します。次に、Get-Content コマ
    ンドレットを使用して、指定されたパスにあるマニフェスト ファイルの内容を取得
    します。
    
    モジュールにマニフェスト ファイルは必須ではありませんが、マニフェスト ファイ
    ルがある場合、バージョン番号を含めることのみが必要です。ただし、多くの場合、 
    マニフェスト ファイルはモジュールおよびその要件と内容に関する有用な情報を提
    供します。
    
    -------------------------- 例 7 --------------------------
    
    C:\PS>get-module -listAvailable  -name FileTransfer | format-list -property *
    
    Name              : FileTransfer
    Path              : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileT
                        ransfer\FileTransfer.psd1
    Description       : Powershell File Transfer Module
    Guid              : 8fa5064b-8479-4c5c-86ea-0d311fe48875
    ModuleBase        : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileT
                        ransfer
    PrivateData       :
    Version           : 1.0.0.0
    ModuleType        : Manifest
    AccessMode        : ReadWrite
    ExportedFunctions : {}
    ExportedCmdlets   : {}
    NestedModules     : {}
    ExportedVariables : {}
    ExportedAliases   : {}
    SessionState      : System.Management.Automation.SessionState
    OnRemove          :
    
    説明
    -----------
    このコマンドは、FileTransfer モジュールのすべてのプロパティを一覧形式で表示
    します。
    
    このモジュールはまだセッションにインポートされていないため、Exported* プロパ
    ティおよび NestedModules プロパティはまだ設定されていません。これらのプロパテ
    ィが設定されるのは、要素がエクスポートされ、入れ子のモジュールがインスタンス
    化された後です。
    
    -------------------------- 例 8 --------------------------
    
    C:\PS>dir (get-module -listavailable FileTransfer).modulebase
    
        Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer
    
    Mode                LastWriteTime     Length Name
    ----                -------------     ------ ----
    d----        12/16/2008  12:36 PM            en-US
    -a---        11/19/2008  11:30 PM      16184 FileTransfer.Format.ps1xml
    -a---        11/20/2008  11:30 PM       1044 FileTransfer.psd1
    -a---        12/16/2008  12:20 AM     108544 Microsoft.BackgroundIntelligentT
                                                 ransfer.Management.Interop.dll
    
    説明
    -----------
    このコマンドは、モジュールのディレクトリにあるファイルを一覧表示します。これ
    は、モジュールのインポート前にモジュール内のファイルを確認するもう 1 つの方法
    です。モジュールについて記述したヘルプ ファイルまたは ReadMe ファイルを持つモ
    ジュールもあります。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=141552
    Import-Module 
    New-Module 
    Remove-Module 
    about_Modules 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Get-Module
ご利用数: 1976880
感想・要望・問い合わせは こちら