WS-Verwaltungsprotokoll
Das WS-Verwaltungsprotokoll wurde von einer Gruppe von Hardware- und Softwareherstellern als öffentlicher Standard für den Remoteaustausch von Verwaltungsdaten mit beliebigen Geräten entwickelt, die das Protokoll implementieren.
Standards
Weitere Informationen zu WS-Management Protokoll finden Sie unter Web Services for Management (WS-Management)-Spezifikation.
Das Protokoll soll Konsistenz und Interoperabilität für Verwaltungsvorgänge über viele Gerätetypen (einschließlich Firmware) und Betriebssysteme hinweg bereitstellen. WS-Management Protokoll kann erweitert werden, wenn neue Vorgänge von der IT-Branche identifiziert werden.
Die aktuelle Implementierung des WS-Management-Protokolls basiert auf den folgenden Standardspezifikationen: HTTPS, SOAP über HTTP (WS-I-Profil), SOAP 1.2, WS-Adressierung, WS-Transfer, WS-Enumeration und WS-Eventing. Weitere Informationen zu den WS-Management Standards und XML-Schemas finden Sie unter https://dmtf.org/standards/wsman
Meldungen
Das WS-Management-Protokoll bietet einen Standard zum Erstellen von XML-Nachrichten mithilfe verschiedener Webdienststandards wie WS-Adressierung und WS-Transfer. Diese Standards definieren XML-Schemas für Webdienstnachrichten. Die Nachrichten verweisen mithilfe eines Ressourcen-URIauf eine Ressource. Das WS-Management-Protokoll fügt eine Reihe von Definitionen für Verwaltungsvorgänge und -werte hinzu. Beispielsweise definiert WS-Transfer die Vorgänge Get, Put, Create und Delete für eine Ressource. WS-Management Protokoll fügt Rename, Partial Get und Partial Put hinzu.
Die Nachrichten folgen den Konventionen des Simple Object Access Protocol (SOAP), das von allen Webdienstprotokollen verwendet wird.
Das folgende Codebeispiel zeigt eine Nachricht mit einem Get-Vorgang. Dieses Beispiel wird als Hilfe gezeigt, um zu verstehen, wie die zugrunde liegenden Nachrichten aussehen. Sie müssen nicht wissen, wie SOAP-Nachrichten erzeugt werden. Die Nachrichten werden von Windows Remoteverwaltung zusammengestellt, wenn Sie einen Befehl mit dem Winrm-Befehlszeilentool ausführen oder ein Skript ausführen, das mit der WinRM-Skripterstellungs-APIgeschrieben wurde.
Die Nachricht ist eine Anforderung, die Instanz von Win32 _ LogicalDisk mit der DeviceID-Eigenschaft "c:" von einem Server mit dem Namen RemoteComputer abzurufen. Die Anforderung verwendet den HTTP-Transport über Port 80. Das Konto, das die Anforderung sendet, muss sich in der lokalen Administratorgruppe auf dem Remotecomputer befinden.
Die Zeichen vor dem Doppelpunkt am Anfang jedes Tags geben an, welcher Standard das XML-Element definiert. Gibt beispielsweise <wsa:To> an, dass das To-Element durch den WS-Addressing Standard definiert wird, und <s:Header> gibt den Anfang des Headerinhalts in einer SOAP-Nachricht an. Beachten Sie, dass der Großteil der Nachricht aus XML-Elementen besteht, die durch SOAP oder WS-Adressierung definiert werden. WS-Management-Protokoll fügt MaxEnvelopeSize, Selector und SelectorSet hinzu.
<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>