资源 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 Management Instrumentation (WMI) 是基于 Windows 的操作系统管理数据的主要源,但其他管理架构源也存在。

以下列表描述了 Windows 远程管理使用的几种类型的资源 URI:

区分大小写

WMI 插件保留请求中收到的资源 URI 大小写。 但是,为了确保与 WS-Management 协议的其他实现的互操作性,请在资源 URI 中对请求的资源使用正确的大小写。 正确的大小写是资源提供程序定义的拼写。

虽然资源 URI 不需要区分大小写,但 片段 XML 需要区分大小写。 片段只指定一个属性,而不是资源的整个属性集。 对于 WMI 资源,片段语法从资源实例获取一个属性。 例如,仅从 Win32_OperatingSystem 获取 Version 属性需要使用片段。 有关片段的详细信息,请参阅 Windows 远程管理和 WMI 中的“将选择器添加到 ResourceLocator 或 IWSManResourceLocator 对象”。

按照 XML 和 XPath 标准, WMI 插件 对定义方法的输入参数的片段和 XML 强制实施区分大小写。 需要区分大小写才能支持 XPath 1.0/级别 1 标准。 若要通过 WinRM 获取 WMI 数据,区分大小写意味着 WMI 类、属性和方法的名称必须与 WMI 存储库中的名称大小写匹配。

有关详细信息,请参阅 XPath 语法

区分大小写的示例

例如,从 WMI Win32_Service 类的实例获取 SECURITY_DESCRIPTOR 属性的脚本不能对片段路径中的名称使用大写,而只能使用 URI。 WinRM WMI 插件 为以下 VBScript 示例返回错误,因为为 FragmentPath 提供的 XPath XML 未使用正确的大小写。 在 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

关于 Windows 远程管理

远程硬件管理

ResourceLocator