WS-Management 协议

WS-Management 协议由硬件和软件制造商群体开发,作为一种公共标准,可用于与实现该协议的任何计算机设备远程交换管理数据。

标准

有关WS-Management协议的详细信息,请参阅 Web Services for Management (WS-Management) 规范

该协议的目的是为许多类型的设备(包括固件 () 和操作系统)的管理操作提供一致性和互操作性。 WS-Management协议可以随着 IT 行业确定新操作而扩展。

WS-Management协议的当前实现基于以下标准规范:HTTPS、SOAP over HTTP (WS-I 配置文件) 、SOAP 1.2、WS-Addressing、WS-Transfer、WS-Enumeration 和 WS-Eventing。 有关WS-Management标准和 XML 架构的详细信息,请参阅 https://dmtf.org/standards/wsman

消息

WS-Management协议提供了使用各种 Web 服务标准(如 WS-AddressingWS-Transfer)构造 XML 消息的标准。 这些标准定义了 Web 服务消息的 XML 架构。 消息使用 资源URI 引用资源。 WS-Management协议为管理操作和值添加了一组定义。 例如,WS-Transfer定义资源的“获取”、“放置”、“创建”和“删除”操作。 WS-Management协议添加 Rename、Partial Get 和 Partial Put。

这些消息遵循所有 Web 服务 协议使用的简单对象访问协议 (SOAP) 约定。

下面的代码示例演示了一个包含 Get 操作的消息。 此示例显示为有助于了解基础消息的外观。 无需了解如何生成 SOAP 消息。 使用 Winrm 命令行工具执行命令或运行使用 WinRM 脚本 API 编写的脚本时,这些消息由 Windows 远程管理进行汇编。

该消息是一个请求,用于从名为 RemoteComputer 的服务器获取 DeviceID 属性为“c:”的 Win32_LogicalDisk 实例。 请求使用通过端口 80 的 HTTP 传输。 发送请求的帐户必须位于远程计算机上的本地管理员组中。

每个标记开头冒号前的字符指示哪个标准定义 XML 元素。 例如, <wsa:To> 指示 To 元素由 WS-Addressing 标准定义,并 <s:Header> 指示 SOAP 消息中标头内容的开头。 请注意,大部分消息由 SOAP 或 WS-Addressing 定义的 XML 元素组成。 WS-Management协议添加 MaxEnvelopeSize、Selector 和 SelectorSet。

<s:Envelope xmlns:s="https://www.w3.org/2003/05/soap-envelope" 
            xmlns:a="https://schemas.xmlsoap.org/ws/2004/08/addressing" 
            xmlns:w="https://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">
  <s:Header>
    <a:To>https://RemoteComputer:80/wsman</a:To> 
    <w:ResourceURI s:mustUnderstand="true">
      http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_logicaldisk
    </w:ResourceURI> 
    <a:ReplyTo>
    <a:Address s:mustUnderstand="true">
      https://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
    </a:Address> 
    </a:ReplyTo>
    <a:Action s:mustUnderstand="true">
      https://schemas.xmlsoap.org/ws/2004/09/transfer/Get
    </a:Action> 
    <w:MaxEnvelopeSize s:mustUnderstand="true">153600</w:MaxEnvelopeSize> 
    <a:MessageID>uuid:4ED2993C-4339-4E99-81FC-C2FD3812781A</a:MessageID> 
    <w:Locale xml:lang="en-US" s:mustUnderstand="false"/> 
    <w:SelectorSet>
    <w:Selector Name="DeviceId">c:</w:Selector> 
    </w:SelectorSet>
    <w:OperationTimeout>PT60.000S</w:OperationTimeout> 
  </s:Header>
  <s:Body/> 
</s:Envelope>

关于 Windows 远程管理

远程硬件管理