Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Skripty vzdálené správy systému Windows vrací místo objektů XML. XML není ve formátu čitelném pro člověka. Pomocí metod rozhraní MSXML API a předinstalovaného souboru XSL můžete transformovat data do čitelného formátu člověka.
Další informace o výstupu WINRM XML a příklady nezpracovaných a formátovaných XML naleznete v tématu Skriptování ve Windows Remote Management.
Nástroj příkazového řádku Winrm obsahuje transformační soubor s názvem WsmTxt.xsl, který zobrazuje výstup v tabulkové podobě. Pokud váš skript tento soubor dodává metodám MSXML, které provádějí transformace, výstup se zobrazí stejně jako výstup z nástroje Winrm .
Naformátovat nezpracovaný XML výstup
Vytvořte objekt WSMan a vytvořte relaci.
Set Wsman = CreateObject("Wsman.Automation") Set Session = Wsman.CreateSession
Vytvořte objekty MSXML, které představují výstup odpovědi XML a transformaci XSL.
Set xmlFile = CreateObject( "MSXml.DOMDocument" ) Set xslFile = CreateObject( "MSXml.DOMDocument" )
Získejte data prostřednictvím metodami objektu Session.
xmlResponse = Session.Get("http://schemas.microsoft.com/" & _ "wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Spooler")
Dodejte odpověď metodě loadXML systému MSXML a metodě load pro uložení transformačního souboru.
xmlFile.LoadXml(xmlResponse) xslFile.Load("WsmTxt.xsl")
Použijte msXML transformNode metodu a zobrazte nebo uložte výstup.
Wscript.Echo xmlFile.TransformNode(xslFile)
Následující příklad kódu jazyka VBScript ukazuje úplný skript.
Set Wsman = CreateObject("Wsman.Automation")
Set Session = Wsman.CreateSession
Set xmlFile = CreateObject( "MSXml.DOMDocument" )
Set xslFile = CreateObject( "MSXml.DOMDocument" )
xmlResponse = Session.Get("http://schemas.microsoft.com/" & _
"wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Spooler")
xmlFile.LoadXml(xmlResponse)
xslFile.Load("WsmTxt.xsl")
Wscript.Echo xmlFile.TransformNode(xslFile)
Přidání přenosného podprogramu pro transformaci XML do skriptů
Do skriptů, které používají předinstalovaný soubor XSL, můžete přidat podprogram, který převede nezpracovaný výstup XML ze skriptu WinRM do tabulkového formuláře.
Následující podprogram používá volání metod skriptování MSXML k zadání výstupu wsmTxt.xsl.
'****************************************************
' Displays WinRM XML message using built-in XSL
'****************************************************
Sub DisplayOutput(strWinRMXml)
Set xmlFile = CreateObject("MSXml.DOMDocument")
Set xslFile = CreateObject("MSXml.DOMDocument")
xmlFile.LoadXml(strWinRMXml)
xslFile.Load("WsmTxt.xsl")
Wscript.Echo xmlFile.TransformNode(xslFile)
End Sub
Následující podprogram transformuje každý řádek dat, jak je znázorněno v následujícím příkladu.
Const RemoteComputer = "servername.domain.com"
Set objWsman = CreateObject("WSMan.Automation")
Set objSession = objWsman.CreateSession("https://" & RemoteComputer)
strResource = "http://schemas.microsoft.com/" & _
"wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk"
Set objResultSet = objSession.Enumerate(strResource)
While Not objResultSet.AtEndOfStream
DisplayOutput(objResultSet.ReadItem)
Wend
Sub DisplayOutput(strWinRMXml)
Set xmlFile = CreateObject("MSXml.DOMDocument")
Set xslFile = CreateObject("MSXml.DOMDocument")
xmlFile.LoadXml(strWinRMXml)
xslFile.Load("WsmTxt.xsl")
Wscript.Echo xmlFile.TransformNode(xslFile)
End Sub
Související témata
-
o vzdálené správy systému Windows