资源 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
此组 URI 表示 Common Information Model 类路径,其中包括命名空间和类。
WMI URI 可用于:
IPMI URI
此组 URI 表示基于 CIM 版本 2.9 的行业标准 URI。 IPMI URI 可用于 会话 方法,获取、放置、枚举 和 Invoke。
例如 https://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor.xsd。 此资源根据 CIM 架构 DMTF.org 定义。
WinRM 配置 URI
此组 URI 是 WinRM侦听器 配置的配置作。
https://schemas.microsoft.com/wbem/wsman/1/config/listener
可用于 会话 方法 获取、放置、创建、删除和 枚举。系统事件日志 (SEL) URI
此组 URI 从 BMC 订阅事件收集器事件。 可以使用 Wevtutil 命令行工具订阅这些事件。
区分大小写
WMI 插件 保留请求中收到的资源 URI 大小写。 但是,为了确保与其他 WS-Management 协议实现的互作性,请在资源 URI 中为请求的资源使用正确的案例。 正确的情况是资源提供程序定义的拼写。
虽然资源 URI 不需要区分大小写,但 片段 XML。 片段只指定一个属性,而不是资源的整个属性集。 对于 WMI 资源,片段语法从资源实例获取一个属性。 例如,仅从 Win32_OperatingSystem 获取 Version 属性需要使用片段。 有关片段的详细信息,请参阅 Windows 远程管理和 WMI中的“将选择器添加到 ResourceLocator 或 IWSManResourceLocator 对象”。
遵循 XML 和 XPath 标准后,WMI 插件 对片段和 XML 强制实施区分大小写,这些片段和 XML 定义方法的输入参数。 支持 XPath 1.0/Level 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 远程管理 的