現在のセッションにインポートされたモジュールまたはインポート可能なモジュールを取得します。

構文

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 ファイルを持つモジュールもあります。






関連項目




目次