Get-Module
現在のセッションでインポートされたモジュール、または PSModulePath からインポートできるモジュールを一覧表示します。
構文
Get-Module
[[-Name] <String[]>]
[-FullyQualifiedName <ModuleSpecification[]>]
[-All]
[<CommonParameters>]
Get-Module
[[-Name] <String[]>]
[-FullyQualifiedName <ModuleSpecification[]>]
[-All]
[-ListAvailable]
[-PSEdition <String>]
[-SkipEditionCheck]
[-Refresh]
[<CommonParameters>]
Get-Module
[[-Name] <String[]>]
[-FullyQualifiedName <ModuleSpecification[]>]
[-ListAvailable]
[-PSEdition <String>]
[-SkipEditionCheck]
[-Refresh]
-PSSession <PSSession>
[<CommonParameters>]
Get-Module
[[-Name] <String[]>]
[-FullyQualifiedName <ModuleSpecification[]>]
[-ListAvailable]
[-SkipEditionCheck]
[-Refresh]
-CimSession <CimSession>
[-CimResourceUri <Uri>]
[-CimNamespace <String>]
[<CommonParameters>]
説明
Get-Module
コマンドレットは、PowerShell セッションにインポートされた、またはインポートできる PowerShell モジュールを一覧表示します。 パラメーターがない場合、Get-Module
は現在のセッションにインポートされたモジュールを取得します。
ListAvailable パラメーターは、PSModulePath 環境変数 ($Env:PSModulePath
) で指定されたパスからインポートできるモジュールを一覧表示するために使用されます。
Get-Module
返されるモジュール オブジェクトには、モジュールに関する貴重な情報が含まれています。
Import-Module
コマンドレットや Remove-Module
コマンドレットなど、他のコマンドレットにモジュール オブジェクトをパイプすることもできます。
Get-Module
モジュールは一覧表示されますが、インポートされません。 Windows PowerShell 3.0 以降では、モジュールでコマンドを使用するとモジュールが自動的にインポートされますが、Get-Module
コマンドでは自動インポートはトリガーされません。
Import-Module
コマンドレットを使用して、セッションにモジュールをインポートすることもできます。
Windows PowerShell 3.0 以降では、リモート セッションからローカル セッションにモジュールを取得してからインポートできます。 この方法では、PowerShell の暗黙的なリモート処理機能を使用し、Import-PSSession
コマンドレットを使用することと同じです。 別のセッションからインポートされたモジュールでコマンドを使用すると、コマンドはリモート セッションで暗黙的に実行されます。 この機能を使用すると、ローカル セッションからリモート コンピューターを管理できます。
また、Windows PowerShell 3.0 以降では、Get-Module
と Import-Module
を使用して共通情報モデル (CIM) モジュールを取得およびインポートできます。 CIM モジュールは、コマンドレット定義 XML (CDXML) ファイルでコマンドレットを定義します。 この機能を使用すると、C++ で記述されたコマンドレットなど、非マネージド コード アセンブリに実装されているコマンドレットを使用できます。
暗黙的なリモート処理を使用して、PowerShell リモート処理が有効になっているリモート コンピューターを管理できます。
リモート コンピューターで PSSession を作成し、 の Get-Module
パラメーターを使用して、リモート セッションで PowerShell モジュールを取得します。 リモート セッションからモジュールをインポートすると、インポートされたコマンドがリモート コンピューター上のセッションで実行されます。
同様の方法を使用して、PowerShell リモート処理が有効になっていないコンピューターを管理できます。 これには、Windows オペレーティング システムを実行していないコンピューターや、PowerShell を使用しているが PowerShell リモート処理が有効になっていないコンピューターが含まれます。
まず、リモート コンピューターで CIM セッションを作成します。 CIM セッションは、リモート コンピューター上の Windows Management Instrumentation (WMI) への接続です。 次に、Get-Module
の CimSession パラメーターを使用して、CIM セッションから CIM モジュールを取得します。
Import-Module
コマンドレットを使用して CIM モジュールをインポートし、インポートしたコマンドを実行すると、コマンドはリモート コンピューターで暗黙的に実行されます。 この WMI および CIM 戦略を使用して、リモート コンピューターを管理できます。
例
例 1: 現在のセッションにインポートされたモジュールを取得する
Get-Module
このコマンドは、現在のセッションにインポートされたモジュールを取得します。
例 2: インストールされているモジュールと使用可能なモジュールを取得する
Get-Module -ListAvailable
このコマンドは、コンピューターにインストールされ、現在のセッションにインポートできるモジュールを取得します。
Get-Module
は、$Env:PSModulePath 環境変数で指定されたパスで使用可能なモジュールを検索します。 PSModulePath の詳細については、「about_Modules と about_Environment_Variables」を参照してください。
例 3: エクスポートされたすべてのファイルを取得する
Get-Module -ListAvailable -All
このコマンドは、使用可能なすべてのモジュールに対してエクスポートされたすべてのファイルを取得します。
例 4: 完全修飾名でモジュールを取得する
$FullyQualifiedName = @{ModuleName="Microsoft.PowerShell.Management";ModuleVersion="3.1.0.0"}
Get-Module -FullyQualifiedName $FullyQualifiedName | Format-Table -Property Name,Version
Name Version
---- -------
Microsoft.PowerShell.Management 3.1.0.0
この例では、FullyQualifiedName パラメーターを使用してモジュールの完全修飾名を指定して、Microsoft.PowerShell.Management モジュールを取得します。 次に、Format-Table
コマンドレットに結果をパイプ処理し、列見出しとして Name と Version を使用して結果をテーブルとして書式設定します。
モジュールの完全修飾名では、ModuleVersion 値が最小バージョンとして機能します。 そのため、この例では、バージョン 以上の Microsoft.PowerShell.Management 3.1.0.0
一致します。
例 5: モジュールのプロパティを取得する
Get-Module | Get-Member -MemberType Property | Format-Table Name
Name
----
AccessMode
Author
ClrVersion
CompanyName
Copyright
Definition
Description
DotNetFrameworkVersion
ExportedAliases
ExportedCmdlets
ExportedCommands
ExportedFormatFiles
ExportedFunctions
ExportedTypeFiles
ExportedVariables
ExportedWorkflows
FileList
Guid
HelpInfoUri
LogPipelineExecutionDetails
ModuleBase
ModuleList
ModuleType
Name
NestedModules
OnRemove
Path
PowerShellHostName
PowerShellHostVersion
PowerShellVersion
PrivateData
ProcessorArchitecture
RequiredAssemblies
RequiredModules
RootModule
Scripts
SessionState
Version
このコマンドは、 返 Get-Module
オブジェクトのプロパティを取得します。 モジュール ファイルごとに 1 つのオブジェクトがあります。
プロパティを使用して、モジュール オブジェクトの書式設定とフィルター処理を行うことができます。 プロパティの詳細については、「PSModuleInfo プロパティ」を参照してください。
出力には、Windows PowerShell 3.0 で導入された Author や CompanyNameなどの新しいプロパティが含まれます。
例 6: すべてのモジュールを名前でグループ化する
Get-Module -ListAvailable -All | Format-Table -Property Name, ModuleType, Path -GroupBy Name
Name: AppLocker
Name ModuleType Path
---- ---------- ----
AppLocker Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\AppLocker\AppLocker.psd1
Name: Appx
Name ModuleType Path
---- ---------- ----
Appx Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\en-US\Appx.psd1
Appx Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\Appx.psd1
Appx Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\Appx.psm1
Name: BestPractices
Name ModuleType Path
---- ---------- ----
BestPractices Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BestPractices\BestPractices.psd1
Name: BitsTransfer
Name ModuleType Path
---- ---------- ----
BitsTransfer Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsTransfer\BitsTransfer.psd1
このコマンドは、インポートと使用可能の両方のすべてのモジュール ファイルを取得し、モジュール名でグループ化します。 これにより、各スクリプトがエクスポートしているモジュール ファイルを確認できます。
例 7: モジュール マニフェストの内容を表示する
これらのコマンドは、Windows PowerShell BitsTransfer モジュールのモジュール マニフェストの内容を表示します。
モジュールにはマニフェスト ファイルは必要ありません。 マニフェスト ファイルがある場合、マニフェスト ファイルはバージョン番号を含める必要があります。 ただし、マニフェスト ファイルは、多くの場合、モジュール、その要件、およびその内容に関する有用な情報を提供します。
# First command
$m = Get-Module -List -Name BitsTransfer
# Second command
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"
}
最初のコマンドは、BitsTransfer モジュールを表す PSModuleInfo オブジェクトを取得します。
$m
変数にオブジェクトを保存します。
2 番目のコマンドでは、Get-Content
コマンドレットを使用して、指定したパス内のマニフェスト ファイルの内容を取得します。 ドット表記を使用してマニフェスト ファイルへのパスを取得します。マニフェスト ファイルは、オブジェクトの Path プロパティに格納されます。 出力には、モジュール マニフェストの内容が表示されます。
例 8: モジュール ディレクトリ内のファイルを一覧表示する
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 ファイルが含まれている場合があります。
例 9: コンピューターにインストールされているモジュールを取得する
$s = New-PSSession -ComputerName Server01
Get-Module -PSSession $s -ListAvailable
これらのコマンドは、Server01 コンピューターにインストールされているモジュールを取得します。
最初のコマンドでは、New-PSSession
コマンドレットを使用して、Server01 コンピューターに PSSession を作成します。 このコマンドは、PSSession を $s
変数に保存します。
2 番目のコマンドでは、PSSession と Get-Module
パラメーターを使用して、 変数の $s
内のモジュールを取得します。
他のセッションから Import-Module
コマンドレットにモジュールをパイプする場合、Import-Module
暗黙的なリモート処理機能を使用して、モジュールを現在のセッションにインポートします。 これは、Import-PSSession
コマンドレットの使用と同じです。 現在のセッションではモジュールのコマンドレットを使用できますが、これらのコマンドレットを使用するコマンドは実際にはリモート セッションを実行します。 詳細については、「Import-Module
と Import-PSSession
」を参照してください。
例 10: Windows オペレーティング システムを実行しないコンピューターを管理する
この例のコマンドを使用すると、Windows オペレーティング システムを実行していないリモート コンピューターのストレージ システムを管理できます。 この例では、コンピューターの管理者がモジュール探索 WMI プロバイダーをインストールしているため、CIM コマンドはプロバイダー用に設計された既定値を使用できます。
$cs = New-CimSession -ComputerName RSDGF03
Get-Module -CimSession $cs -Name Storage | Import-Module
Get-Command Get-Disk
CommandType Name ModuleName
----------- ---- ----------
Function Get-Disk Storage
Get-Disk
Number Friendly Name OperationalStatus Total Size Partition Style
------ ------------- ----------------- ---------- ---------------
0 Virtual HD ATA Device Online 40 GB MBR
最初のコマンドでは、New-CimSession
コマンドレットを使用して、RSDGF03 リモート コンピューターにセッションを作成します。 セッションは、リモート コンピューター上の WMI に接続します。 このコマンドは、CIM セッションを $cs
変数に保存します。
2 番目のコマンドは、$cs
変数の CIM セッションを使用して、RSDGF03 コンピューターで Get-Module
コマンドを実行します。 このコマンドでは、Name パラメーターを使用して Storage モジュールを指定します。 このコマンドでは、パイプライン 演算子 (|
) を使用して Storage モジュールを Import-Module
コマンドレットに送信し、ローカル セッションにインポートします。
3 番目のコマンドは、Storage モジュールの Get-Command
コマンドで Get-Disk
コマンドレットを実行します。
CIM モジュールをローカル セッションにインポートすると、PowerShell は CIM モジュールを表す CDXML ファイルを PowerShell スクリプトに変換します。これは、ローカル セッションの関数として表示されます。
4 番目のコマンドは、Get-Disk
コマンドを実行します。 コマンドはローカル セッションで入力されますが、インポート元のリモート コンピューターで暗黙的に実行されます。 このコマンドは、リモート コンピューターからオブジェクトを取得し、ローカル セッションに返します。
パラメーター
-All
このコマンドレットは、入れ子になったモジュール、マニフェスト (.psd1
) ファイル、スクリプト モジュール (.psm1
) ファイル、バイナリ モジュール (.dll
) ファイルなど、各モジュール フォルダー内のすべてのモジュールを取得することを示します。 このパラメーターを指定しないと、Get-Module
は各モジュール フォルダー内の既定のモジュールのみを取得します。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-CimNamespace
CIM モジュールを公開する代替 CIM プロバイダーの名前空間を指定します。 既定値は、モジュール探索 WMI プロバイダーの名前空間です。
Windows オペレーティング システムを実行していないコンピューターおよびデバイスから CIM モジュールを取得するには、このパラメーターを使用します。
このパラメーターは、Windows PowerShell 3.0 で導入されました。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-CimResourceUri
CIM モジュールの別の場所を指定します。 既定値は、リモート コンピューター上のモジュール探索 WMI プロバイダーのリソース URI です。
Windows オペレーティング システムを実行していないコンピューターおよびデバイスから CIM モジュールを取得するには、このパラメーターを使用します。
このパラメーターは、Windows PowerShell 3.0 で導入されました。
型: | Uri |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-CimSession
リモート コンピューター上の CIM セッションを指定します。 CIM セッションを含む変数、または CIM セッションを取得するコマンド (Get-CimSession コマンドなど) を入力します。
Get-Module
は CIM セッション接続を使用してリモート コンピューターからモジュールを取得します。
Import-Module
コマンドレットを使用してモジュールをインポートし、現在のセッションでインポートしたモジュールのコマンドを使用すると、コマンドはリモート コンピューターで実際に実行されます。
このパラメーターを使用すると、Windows オペレーティング システムを実行していないコンピューターやデバイス、および PowerShell を使用しているが PowerShell リモート処理が有効になっていないコンピューターからモジュールを取得できます。
CimSession パラメーターは、CIMSession内のすべてのモジュールを取得します。 ただし、CIM ベースおよびコマンドレット定義 XML (CDXML) ベースのモジュールのみをインポートできます。
型: | CimSession |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-FullyQualifiedName
値には、モジュール名、完全なモジュール仕様、またはモジュール ファイルへのパスを指定できます。
値がパスの場合、パスは完全修飾または相対パスにすることができます。 相対パスは、using ステートメントを含むスクリプトを基準にして解決されます。
値が名前またはモジュールの指定である場合、PowerShell は指定されたモジュールの PSModulePath を検索します。
モジュール仕様は、次のキーを持つハッシュテーブルです。
-
ModuleName
- 必須 モジュール名を指定します。 -
GUID
- 省略可能 モジュールの GUID を指定します。 - また、以下の 3 つのキーのうち少なくとも 1 つを指定する必要 も。
-
ModuleVersion
- モジュールの最小許容バージョンを指定します。 -
MaximumVersion
- モジュールの許容される最大バージョンを指定します。 -
RequiredVersion
- モジュールの正確で必要なバージョンを指定します。 これは、他のバージョン キーでは使用できません。
-
Name パラメーターと同じコマンドで、FullyQualifiedName パラメーターを指定することはできません。
型: | ModuleSpecification[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-ListAvailable
このコマンドレットがインストールされているすべてのモジュールを取得することを示します。
Get-Module
は、PSModulePath 環境変数にリストされているパス内のモジュールを取得します。 このパラメーターを指定しないと、Get-Module
は、PSModulePath 環境変数にリストされ、現在のセッションに読み込まれているモジュールのみを取得します。
ListAvailable は、PSModulePath 環境変数に見つからないモジュールに関する情報を返しません。これらのモジュールが現在のセッションに読み込まれている場合でも、
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Name
このコマンドレットが取得するモジュールの名前または名前パターンを指定します。 ワイルドカード文字を使用できます。 名前をパイプして Get-Module
することもできます。
Name パラメーターと同じコマンドで、FullyQualifiedName パラメーターを指定することはできません。
名前 は、モジュール GUID を値として受け入れることができません。 GUID を指定してモジュールを返すには、代わりに完全修飾名 使用します。
型: | String[] |
配置: | 0 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | True |
-PSEdition
PowerShell の指定されたエディションをサポートするモジュールを取得します。
このパラメーターに使用できる値は次のとおりです。
Desktop
Core
Get-Module
コマンドレットは、指定した値 PSModuleInfo オブジェクト CompatiblePSEditions プロパティをチェックし、設定されているモジュールのみを返します。
手記
- Desktop Edition: .NET Framework 上に構築され、Server Core や Windows Desktop などの Windows のフル フットプリント エディションで実行されている PowerShell のバージョンを対象とするスクリプトとモジュールとの互換性を提供します。
- Core Edition: .NET Core 上に構築され、Nano Server や Windows IoT などの Windows のフットプリントが小さいエディションで実行されている PowerShell のバージョンを対象とするスクリプトとモジュールとの互換性を提供します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PSSession
指定したユーザー管理 PowerShell セッション (PSSession) 内のモジュールを取得します。 セッションを含む変数、セッションを取得するコマンド (Get-PSSession
コマンドなど)、またはセッションを作成するコマンド (New-PSSession
コマンドなど) を入力します。
セッションがリモート コンピューターに接続されている場合は、ListAvailable パラメーターを指定する必要があります。
Get-Module
パラメーターを使用する コマンドは、Invoke-Command
コマンドレットを使用して、Get-Module -ListAvailable
で コマンドを実行することと同じです。
このパラメーターは、Windows PowerShell 3.0 で導入されました。
型: | PSSession |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Refresh
このコマンドレットが、インストールされているコマンドのキャッシュを更新することを示します。 コマンド キャッシュは、セッションの開始時に作成されます。 これにより、Get-Command
コマンドレットは、セッションにインポートされていないモジュールからコマンドを取得できます。
このパラメーターは、セッションの開始後にモジュールの内容が変更された開発およびテストシナリオ用に設計されています。
コマンドで Refresh パラメーターを指定する場合は、ListAvailable 指定する必要があります。
このパラメーターは、Windows PowerShell 3.0 で導入されました。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SkipEditionCheck
CompatiblePSEditions フィールドのチェックをスキップします。
既定では、Get-Module
は、%windir%\System32\WindowsPowerShell\v1.0\Modules
フィールドに Core
を指定しない ディレクトリ内のモジュールを省略します。 このスイッチを設定すると、Core
のないモジュールが含まれるため、PowerShell v6 以降と互換性のない Windows PowerShell モジュール パスの下のモジュールが返されます。
macOS および Linux では、このパラメーターは何も行いません。
詳細については、about_PowerShell_Editions を参照してください。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
このコマンドレットにモジュール名をパイプできます。
出力
このコマンドレットは、モジュールを表すオブジェクトを返します。
ListAvailable パラメーターを指定すると、Get-Module
は、ModuleInfoGrouping オブジェクトを返します。これは、同じプロパティとメソッドを持つ PSModuleInfo オブジェクト 型です。
メモ
PowerShell には、Get-Module
の次のエイリアスが含まれています。
すべてのプラットフォーム:
gmo
Windows PowerShell 3.0 以降では、PowerShell に含まれるコア コマンドはモジュールにパッケージ化されています。 例外は、スナップイン (PSSnapin) である Microsoft.PowerShell.Core です。 既定では、Microsoft.PowerShell.Core スナップインのみがセッションに追加されます。 モジュールは最初の使用時に自動的にインポートされ、
Import-Module
コマンドレットを使用してインポートできます。Windows PowerShell 2.0 およびそれ以降のバージョンの PowerShell で古いスタイルのセッションを作成するホスト プログラムでは、コア コマンドはスナップイン (PSSnapins) にパッケージ化されます。 例外は Microsoft.PowerShell.Core です。これは常にスナップインです。 また、
New-PSSession
コマンドレットによって開始されたリモート セッションは、コア スナップインを含む古いスタイルのセッションです。コア モジュールを使用して新しいスタイルのセッションを作成する CreateDefault2 メソッドの詳細については、「CreateDefault2 メソッド 参照してください。
Get-Module
は、PSModulePath 環境変数 ($Env:PSModulePath
) の値に格納されている場所のモジュールのみを取得します。Import-Module
コマンドレットは他の場所にモジュールをインポートできますが、Get-Module
コマンドレットを使用してモジュールを取得することはできません。また、PowerShell 3.0 以降では、新しいプロパティが
Get-Module
返されるオブジェクトに追加され、モジュールがインポートされる前でも簡単に学習できるようになりました。 インポートする前に、すべてのプロパティが設定されます。 これには、ExportedCommands、ExportedCmdlets、およびモジュールがエクスポートするコマンドを一覧表示する ExportedFunctions プロパティが含まれます。ListAvailable パラメーターは、整形式のモジュール、つまり、基本名がモジュール フォルダーの名前と同じ 1 つ以上のファイルを含むフォルダーのみを取得します。 ベース名は、ファイル名拡張子のない名前です。 異なる名前のファイルを含むフォルダーはコンテナーと見なされますが、モジュールと見なされません。
DLL ファイルとして実装されているが、モジュール フォルダーに囲まれていないモジュールを取得するには、ListAvailable と All パラメーターの両方を指定します。
CIM セッション機能を使用するには、リモート コンピューターにリモート処理と Windows 管理インストルメンテーション (WMI) WS-Management 必要があります。これは、共通情報モデル (CIM) 標準の Microsoft 実装です。 コンピューターには、モジュール検出 WMI プロバイダーまたは同じ基本的な機能を持つ代替 WMI プロバイダーも必要です。
CIM セッション機能は、Windows オペレーティング システムを実行していないコンピューターと、PowerShell が有効になっているが PowerShell リモート処理が有効になっていない Windows コンピューターで使用できます。
CIM パラメーターを使用して、PowerShell リモート処理が有効になっているコンピューターから CIM モジュールを取得することもできます。 これには、ローカル コンピューターが含まれます。 ローカル コンピューターで CIM セッションを作成すると、PowerShell は WMI ではなく DCOM を使用してセッションを作成します。
関連リンク
PowerShell