Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De Scripting-API in WinRM en de bijbehorende COM-API voor C++ zijn ontworpen om de bewerkingen van het WS-Management-protocol nauw te weerspiegelen.
De WinRM Scripting-API in Windows Remote Management ondersteunt alle WS-Management protocolbewerkingen behalve één. Abonnementen op gebeurtenissen zijn niet toegestaan. Als u zich wilt abonneren op gebeurtenissen uit het BMC-systeemgebeurtenislogboek, moet u de opdrachtregelprogramma's Van Wecutil of Wevtutil gebruiken. Zie Gebeurtenissenvoor meer informatie.
De WinRM Scripting-API wordt aangeroepen door Winrm.vbs, een opdrachtregelprogramma dat is geschreven in Visual Basic Scripting Edition (VBScript). Winrm.vbs biedt voorbeelden van het gebruik van de WinRM Scripting-API.
WSman gebruiken in vergelijking met het gebruik van WMI-scripts
WMI maakt verbinding met externe computers via DCOM. Hiervoor is de configuratie vereist die wordt beschreven in Verbinding maken met WMI op een externe computer. WinRM maakt geen gebruik van DCOM om verbinding te maken met een externe computer. In plaats daarvan verzendt het WS-Management-protocol SOAP-berichten en gebruikt de service één poort voor HTTP en een poort voor HTTPS-transport.
In tegenstelling tot het winrm opdrachtregelprogramma, moeten scripts de vereiste XML-gegevens verstrekken om door te geven aan de WS-Management protocolberichten. Ze moeten ook URI's opgeven. Zie Resource-URI's en Windows Remote Management en WMIvoor meer informatie.
De WMI Scripting-API werkt met objecten, zoals exemplaren van Win32_LogicalDisk, die resources op een computer vertegenwoordigen. Deze WMI-klasse wordt gedefinieerd in MOF--bestanden (Managed Object Format), die zijn opgeslagen in binaire vorm in de WMI-opslagplaats. In WMI retourneert een get-bewerking voor één resource of een query voor meerdere exemplaren WMI-objecten.
Een WinRM-script retourneert geen objecten, maar eerder stromen XML-tekst. Zie Windows Remote Management en WMIvoor meer informatie.
XML-uitvoer van WinRM-scripts weergeven
De WinRM Scripting-API haalt XML-tekenreeksen op die resources beschrijven. De resulterende XML heeft de vorm van een tekststroom en vereist dat een XML-transformatie op een andere manier wordt weergegeven.
Het volgende WinRM-script produceert onbewerkte XML-uitvoer.
Set Wsman = CreateObject("Wsman.Automation")
Set xmlFile = CreateObject( "MSxml.DOMDocument")
Set Session = Wsman.CreateSession
Response = Session.Get("http://schemas.microsoft.com/wbem/wsman/" _
& "1/wmi/root/cimv2/Win32_Service?Name=Spooler")
xmlFile.LoadXml(Response)
xmlFile.Save( "c:\RawOutput.xml")
In het volgende tekstblok ziet u de XML-uitvoer van het WinRM-script.
<p:Win32_Service xmlns:xsi="https://www.w3.org/2001/XMLSchema-
instance" xmlns:p="http://schemas.microsoft.com/wbem/wsman/1
/wmi/root/cimv2/Win32_Service" xmlns:cim="https://schemas.dmtf
.org/wbem/wsman/1/base" cim:Class="Win32_Service"><p:AcceptP
ause>false</p:AcceptPause><p:AcceptStop>true</p:AcceptStop>
<p:Caption>Print Spooler</p:Caption><p:CheckPoint>0</p:CheckP
oint><p:CreationClassName>Win32_Service</p:CreationClassName>
<p:Description>Loads files to memory for later printing</p:De
scription><p:DesktopInteract>true</p:DesktopInteract><p:Displ
ayName>Print Spooler</p:DisplayName><p:ErrorControl>Normal</p
:ErrorControl><p:ExitCode>0</p:ExitCode><p:InstallDate xsi:ni
l="true"/><p:Name>spooler</p:Name><p:PathName>C:\Windows\Syst
em32\spoolsv.exe</p:PathName><p:ProcessId>1720</p:ProcessId><
p:ServiceSpecificExitCode>0</p:ServiceSpecificExitCode><p:Ser
viceType>Own Process</p:ServiceType><p:Started>true</p:Starte
d><p:StartMode>Auto</p:StartMode><p:StartName>LocalSystem</p:
StartName><p:State>Running</p:State><p:Status>OK</p:Status><p
:SystemCreationClassName>Win32_ComputerSystem</p:SystemCreati
onClassName><p:SystemName>wsplab6-4</p:SystemName><p:TagId>0<
/p:TagId><p:WaitHint>0</p:WaitHint><cim:Location xmlns:cim="h
ttp://schemas.dmtf.org/wbem/wsman/1/base" xmlns:a="https://sc
hemas.xmlsoap.org/ws/2004/08/addressing" xmlns:w="https://sche
mas.dmtf.org/wbem/wsman/1/wsman"><a:Address>https://schemas.xm
lsoap.org/ws/2004/08/addressing/role/anonymous</a:Address><a:
ReferenceParameters><w:ResourceURI>https://schemas.microsoft.c
om/wbem/wsman/1/wmi/root/cimv2/Win32_Service</w:ResourceURI><
w:SelectorSet><w:Selector Name="Name">spooler</w:Selector></w
:SelectorSet></a:ReferenceParameters></cim:Location></p:Win32
_Service>
Uw scripts kunnen een XML-transformatie gebruiken om deze uitvoer beter leesbaar te maken. Zie XML-uitvoer van WinRM-scripts weergevenvoor meer informatie.
Met de volgende versie van het script wordt de XML opgemaakt in uitvoer die door mensen kan worden gelezen.
Set Wsman = CreateObject("Wsman.Automation")
Set xmlFile = CreateObject( "MSXml.DOMDocument" )
Set xslFile = CreateObject( "MSXml.DOMDocument" )
Set Session = Wsman.CreateSession
Response = Session.Get("http://schemas.microsoft.com/wbem/wsman/" _
& "1/wmi/root/cimv2/Win32_Service?Name=Spooler")
xmlFile.LoadXml(Response)
xslFile.Load( "WsmTxt.xsl" )
Wscript.Echo xmlFile.TransformNode( xslFile )
Met de XSL-transformatie wordt de volgende uitvoer gemaakt.
Win32_Service
AcceptPause = false
AcceptStop = true
Caption = Print Spooler
CheckPoint = 0
CreationClassName = Win32_Service
Description = Loads files to memory for later printing
DesktopInteract = true
DisplayName = Print Spooler
ErrorControl = Normal
ExitCode = 0
InstallDate = null
Name = Spooler
PathName = C:\Windows\System32\spoolsv.exe
ProcessId = 1720
ServiceSpecificExitCode = 0
ServiceType = Own Process
Started = true
StartMode = Auto
StartName = LocalSystem
State = Running
Status = OK
SystemCreationClassName = Win32_ComputerSystem
SystemName = wsplab6-4
TagId = 0
WaitHint = 0
WinRM-script en Winrm.cmd-uitvoer
De uitvoer van een WinRM-script wordt gecodeerd in Unicode. Als u een FileSystemObject maakt en een bestand schrijft vanuit het script, is het resulterende bestand Unicode. Als u de uitvoer echter omleidt naar een bestand, is de codering ANSI. Als u de uitvoer omleidt naar een XML-bestand en er Unicode-tekens in de uitvoer staan, is de XML ongeldig. Houd er rekening mee dat het Winrm opdrachtregelprogramma ANSI uitvoert.
Verwante onderwerpen