about_WMI

簡単な説明

WindowsManagement Instrumentation (WMI) では、Common Information Model (CIM) を使用して、最新企業のシステム、アプリケーション、ネットワーク、デバイス、その他の管理可能なコンポーネントを表します。

長い説明

WindowsManagement Instrumentation (WMI) は、業界標準である Web-Based Enterprise Management (WBEM) の Microsoft の実装です。

クラシック WMI では、DCOM を使用してネットワーク接続されたデバイスと通信し、リモート システムを管理します。 Windows PowerShell 3.0 では、WinRM を使用して DCOM への依存関係を削除する CIM プロバイダー モデルが導入されています。 この CIM プロバイダー モデルでは、新しい WMI プロバイダー API も使用します。これにより、開発者はネイティブ コード (C) Windows PowerShellコマンドレットを記述できます + + 。

WMI プロバイダーを他のプロバイダーと混同Windows PowerShell使用しない。 多Windows機能には、管理機能を公開する WMI プロバイダーが関連付けられているものがあります。 WMI プロバイダーを取得するには、WMI クラスのインスタンスを取得する WMI __Providerを実行します (例: 次のクエリ)。

Get-WmiObject -Class __Provider

WMI の 3 つのコンポーネント

WMI の次の 3 つのコンポーネントは、Windows PowerShell名前空間、プロバイダー、およびクラスと対話します。

WMI 名前空間は、WMI プロバイダーと WMI クラスを関連コンポーネントのグループに整理します。 この方法では、これらの名前空間は.NET Framework似ています。 名前空間は物理的な場所ではなく、論理データベースに似たものになります。 すべての WMI 名前空間は、システム クラスの__Namespaceインスタンスです。 既定の WMI 名前空間は Root / CIMV2 です (Microsoft Windows 2000 以降)。 現在のWindows PowerShell WMI 名前空間を取得するには、次の形式のコマンドを使用します。

Get-WmiObject -Class __Namespace

他の名前空間の WMI 名前空間を取得するには、Namespace パラメーターを使用して検索の場所を変更します。 次のコマンドは、Root/Cimv2/Applications 名前空間に存在する WMI 名前空間を検索します。

Get-WmiObject -Class __Namespace -Namespace root/CIMv2/applications

WMI 名前空間は階層構造です。 したがって、特定のシステム上のすべての名前空間の一覧を取得するには、ルート名前空間から再帰的なクエリを実行する必要があります。

WMI プロバイダーは、管理可能なオブジェクトWindows情報を公開します。 プロバイダーはコンポーネントからデータを取得し、WMI 経由でデータを管理アプリケーション (アプリケーションなど) に渡Windows PowerShell。 ほとんどの WMI プロバイダーは動的プロバイダーです。つまり、管理アプリケーションを介して要求された場合にデータを動的に取得します。

WMI クラスの検索

既定のインストールでは、Windows 8 Root Cimv2 には 1,100 を超える WMI クラス / があります。 この多くの WMI クラスでは、特定のタスクを実行するために使用する適切な WMI クラスが識別されます。 Windows PowerShell 3.0 では、特定のトピックに関連する WMI クラスを検索する 2 つの方法が提供されています。

たとえば、ディスクに関連するルート CIMV2 WMI 名前空間内の WMI クラスを検索するには、次に示すクエリ \ を使用できます。

Get-WmiObject -List *disk*

メモリに関連する WMI クラスを検索するには、次に示すクエリなどのクエリを使用できます。

Get-WmiObject -List *memory*

CIM コマンドレットには、WMI クラスを検出する機能も用意されています。 これを行うには、次のコマンドレットGet-CIMClassします。 ここに示すコマンドは、ビデオに関連する WMI クラスを一覧表示します。

Get-CimClass *video*

タブ展開は WMI 名前空間を変更するときに機能するため、タブ展開を使用すると、サブ WMI 名前空間を簡単に検出できます。 次の例では、Get-CimClass設定に関連する WMI クラスを一覧表示します。 それを見つけるには、名前空間を入力し、Power 名前空間が表示されるまで Tab キー root/CIMV2/ を数回押します。 次にコマンドを示します。

Get-CimClass *power* -Namespace root/cimv2/power