次の方法で共有


about_WMI

簡単な説明

Windows Management Instrumentation (WMI) は、共通情報モデル (CIM) を使用して、最新の企業のシステム、アプリケーション、ネットワーク、デバイス、およびその他の管理可能なコンポーネントを表します。

詳細な説明

Windows Management Instrumentation (WMI) は、業界標準である Web ベースのエンタープライズ管理 (WBEM) の Microsoft の実装です。

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

WMI プロバイダーと Windows PowerShell プロバイダーを混同しないでください。 多くの Windows 機能には、その管理機能を公開する WMI プロバイダーが関連付けられています。 WMI プロバイダーを取得するには、次のクエリなど、 __Provider WMI クラスのインスタンスを取得する WMI クエリを実行します。

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 つの方法が用意されています。

たとえば、ディスクに関連する WMI 名前空間 root/cimv2 WMI クラスを見つけるには、次に示すようなクエリを使用できます。

Get-WmiObject -List *disk*

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

Get-WmiObject -List *memory*

CIM コマンドレットは、WMI クラスを検出する機能も提供します。 これを行うには、 Get-CimClass コマンドレットを使用します。 次に示すコマンドは、ビデオに関連する WMI クラスの一覧です。

Get-CimClass *video*

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

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