Menampilkan Output XML dari Skrip WinRM

Skrip Manajemen Jarak Jauh Windows mengembalikan XML daripada objek. XML tidak dalam format yang dapat dibaca manusia. Anda dapat menggunakan metode MSXML API dan file XSL yang telah diinstal sebelumnya untuk mengubah data menjadi format yang dapat dibaca manusia.

Untuk informasi selengkapnya tentang output XML WinRM dan contoh XML mentah dan diformat, lihat Pembuatan Skrip di Manajemen Jarak Jauh Windows.

Alat baris perintah Winrm dilengkapi dengan file transformasi bernama WsmTxt.xsl yang menampilkan output dalam bentuk tabular. Jika skrip Anda memasok file ini ke metode MSXML yang melakukan tranform, output muncul sama dengan output dari alat Winrm .

Untuk memformat output XML mentah

  1. Buat objek WSMan dan buat sesi.

    Set Wsman = CreateObject("Wsman.Automation")
    Set Session = Wsman.CreateSession
    
  2. Buat objek MSXML yang mewakili output respons XML dan transformasi XSL.

    Set xmlFile = CreateObject( "MSXml.DOMDocument" )
    Set xslFile = CreateObject( "MSXml.DOMDocument" )
    
  3. Mendapatkan data melalui metode objek Sesi .

    xmlResponse = Session.Get("http://schemas.microsoft.com/" & _
        "wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Spooler")
    
  4. Berikan respons ke metode MSXML loadXML dan metode pemuatan untuk menyimpan file transformasi.

    xmlFile.LoadXml(xmlResponse)
    xslFile.Load("WsmTxt.xsl")
    
    
  5. Gunakan metode transformNode MSXML dan tampilkan atau simpan output.

    Wscript.Echo xmlFile.TransformNode(xslFile)
    

Contoh kode VBScript berikut menunjukkan skrip lengkap.

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)

Menambahkan Subroutine Portabel untuk Mengubah XML ke Skrip Anda

Anda dapat menambahkan sub-rutin ke skrip Anda yang menggunakan file XSL yang telah diinstal sebelumnya untuk mengonversi output XML mentah dari skrip WinRM ke formulir tabular.

Sub-rutin berikut menggunakan panggilan ke metode pembuatan skrip MSXML untuk menyediakan output ke 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

Sub-rutin berikut mengubah setiap baris data Anda seperti yang diperlihatkan dalam contoh berikut.

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 

Tentang Manajemen Jarak Jauh Windows

Menggunakan Windows Remote Management

Referensi Manajemen Jarak Jauh Windows