リソース URI

リソース URI は、WS-Management プロトコルを実装する管理サービスによって使用される個別の種類の管理操作または値の識別子です。 管理値には、コンピューター内の温度を指定できます。 管理操作の例として、停止したサービスの開始や、ディスク ボリュームのユーザー クォータの設定があります。

リソース URI の形式

URI は、次の例に示すように、プレフィックスとリソースへのパスで構成されます。

"http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk"

このスキーマ仕様は、URI が公式の WS-Management プロトコルのバージョン 1 に基づいており、リソースが WMI リポジトリの "root\cimv2" 名前空間の Win32_LogicalDisk であることを示します。 URI プレフィックスには、"schemas.microsoft.com/wbem/wsman/1/wmi" などのスキーマ仕様と、Win32_LogicalDiskなどの特定の種類のリソースが含 まれます。 WMI クラスの特定のインスタンスの識別の詳細については、「Windows リモート管理と WMIを参照してください。

詳細については、「 URI プレフィックス」を参照してください。

リソース URI の種類

Windows管理インストルメンテーション (WMI) はWindowsベースのオペレーティング システムの管理データの主要なソースですが、管理スキーマの他のソースも存在します。

次の一覧では、Windows リモート管理で使用されるリソース URI のいくつかの種類について説明します。

大文字と小文字の区別

WMI プラグインは、要求で受信したリソース URI の大文字と小文字を保持します。 ただし、WS-Management プロトコルの他の実装との相互運用性を確保するには、リソース URI で要求されたリソースに対して正しいケースを使用します。 正しいケースは、リソース プロバイダーによって定義されたスペルです。

リソース URI では大文字と小文字の区別は必要ありませんが、 フラグメント XML では大文字と小文字が区別されます。 フラグメントは、リソースのプロパティ セット全体ではなく、1 つのプロパティのみを指定します。 WMI リソースの場合、フラグメント構文はリソース インスタンスから 1 つのプロパティを取得します。 たとえば、Win32_OperatingSystemから Version プロパティのみを取得するには、フラグメントを使用する必要があります。 フラグメントの詳細については、「Windows リモート管理と WMI の「ResourceLocator または IWSManResourceLocator オブジェクトへのセレクターの追加」を参照してください。

XML および XPath 標準に従って、 WMI プラグインは 、メソッドの入力パラメーターを定義するフラグメントと XML に対して大文字と小文字の区別を適用します。 XPath 1.0/Level 1 標準をサポートするには、大文字と小文字の区別が必要です。 WinRM を使用して WMI データを取得するには、大文字と小文字が区別されます。つまり、WMI クラス、プロパティ、およびメソッドの名前は、WMI リポジトリで見つかった名前の大文字と小文字が一致している必要があります。

詳細については、「 XPath 構文」を参照してください。

大文字と小文字の区別の例

たとえば、WMI Win32_Service クラスのインスタンスからSECURITY_DESCRIPTOR プロパティを取得するスクリプトでは、フラグメント パス内の名前に大文字を使用できず、URI のみを使用することはできません。 FragmentPath に指定された XPath XML では正しい大文字と小文字が使用されないため、WinRM WMI プラグインは次の VBScript の例でエラーを返します。 WMI リポジトリでは、クラスのスペルは "Win32_Service" です。

RResourceUri = "http://schemas.microsoft.com/wbem/wsman/1/"_& "wmi/root/cimv2/Win32_Service?Name=winrm"
Set WSMan = CreateObject("WSMan.Automation")
Set Locator = WSMan.CreateResourceLocator(Resourceuri)
Locator.FragmentPath = "/Win32_SERVICE/Name"
Set Session = WSMan.Createsession
xml = Session.Get(Locator)
WScript.Echo xml

次のバージョンの同じ例は、Win32_Service クラスと SECURITY_DESCRIPTOR プロパティに対する正しい大文字と小文字の使用 示しています。

ResourceUri = "http://schemas.microsoft.com/wbem/wsman/1/"_
    & "wmi/root/cimv2/Win32_Service?Name=winrm"
Set WSMan = CreateObject("WSMan.Automation")
Set Locator = WSMan.CreateResourceLocator(Resourceuri)
Locator.FragmentPath = "/Win32_Service/Name"
Set Session = WSMan.Createsession
xml = Session.Get(Locator)
WScript.Echo xml

リモート管理

リモート ハードウェア管理

ResourceLocator