現在のセッションにインポートされたモジュールまたはインポート可能なモジュールを取得します。
構文
Get-Module [-All] [-ListAvailable] [-Name <string[]>] [<CommonParameters>] Get-Module [[-Name] <string[]>] [<CommonParameters>]
説明
Get-Module コマンドレットは、セッションにインポートされたモジュールまたはインポート可能なモジュールを取得します。
Get-Module はモジュールを取得するだけで、インポートは実行しません。モジュールをセッションにインポートするには、Import-Module を使用します。
パラメーター
-All
すべてのモジュール ファイルのモジュール オブジェクトを取得します。
All パラメーターが指定されなかった場合、Get-Module は既定のモジュール ファイルのモジュール オブジェクトのみを取得します。コマンドレットは、マニフェスト (.psd1) ファイル、スクリプト モジュール (.psm1) ファイル、バイナリ モジュール (.dll) ファイルの順にファイルの種類を選択します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-ListAvailable
セッションにインポートできるモジュールをすべて取得します。Get-Module は $env:PSModulePath 環境変数で指定されたパスにあるモジュールを取得します。
このパラメーターが指定されていない場合、Get-Module は、セッションにインポートされたモジュールのみを取得します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Name <string[]>
指定した名前または名前のパターンを持つモジュールのみを取得します。ワイルドカードを使用できます。パイプを使用して名前を Get-Module に渡すこともできます。
必須 |
false |
位置 |
1 |
既定値 |
All imported or available modules. |
パイプライン入力を許可する |
true (ByValue) |
ワイルドカード文字を許可する |
true |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。Ô”¼š¤Ë¤Ä¤¤¤Æ¤Ï¡¢次を参照してください: 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」と「about_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 プロパティ」(https://go.microsoft.com/fwlink/?LinkId=143624) を参照してください。
例 5
C:\PS>get-module -listAvailable -all | format-table -property name, moduletype, 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="© 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.BackgroundIntelligentTransfer.Management.Interop.dll" } 説明 ----------- これらのコマンドは、Windows PowerShell File Transfer モジュールのモジュール マニフェストの内容を表示します。 最初のコマンドは、File Transfer モジュールのモジュール マニフェストを表す PSModuleInfo オブジェクトを取得します。オブジェクトは $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\FileTransfer\FileTransfer.psd1 Description : Powershell File Transfer Module Guid : 8fa5064b-8479-4c5c-86ea-0d311fe48875 ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer 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.BackgroundIntelligentTransfer.Management.Interop.dll 説明 ----------- このコマンドは、モジュールのディレクトリにあるファイルを一覧表示します。これは、モジュールのインポート前にモジュール内のファイルを確認するもう 1 つの方法です。モジュールについて記述したヘルプ ファイルまたは ReadMe ファイルを持つモジュールもあります。
関連項目