Dela via


Hämta data från den lokala datorn

Även om Windows Remote Management och WS-Management protokoll uttryckligen är utformade för fjärrkommunikation är det enklast att upprätta en session på den lokala datorn. Vissa skript kan kräva åtkomst till data på den lokala datorn och fjärrdatorer.

WinRM version 2.0:

Alla åtgärder betraktas som fjärranslutna och WinRM-tjänsten måste startas innan någon åtgärd utförs. Om ett fjärrmål inte har angetts används localhost som standard och alla åtgärder skickas till den lokala WinRM-tjänsten. Mer information om hur du startar WinRM-tjänsten finns i Installation och konfiguration för Windows Remote Management.

När du använder WinRM-tjänsten för lokala åtgärder bör följande faktorer beaktas:

  • Den lokala WinRM-konfigurationen kan bara läsas av administratörer.
  • WMI-namnområden måste ha fjärraktiveringsbehörigheter inställda. Mer information finns i Skydda en fjärr-WMI-anslutning.
  • Om en WinRM-lyssnare inte har skapats lyssnar WinRM-tjänsten efter lokala begäranden på port 47001.

Varje WinRM-skript måste starta genom att upprätta en session eller anslutning till en dator genom att skapa ett Session-objekt. När sessionen har skapats kan du använda objektmetoderna Session, till exempel Session.Räkna upp eller Session.Invoke för att hämta data eller köra metoder.

Skapandet av en session liknar att ansluta till ett Windows Management Instrumentation-namnområde (WMI). Sessionen är i princip ett lager som gör att du kan skicka och ta emot data via SOAP- meddelanden och WS-Management protokollet. Mer information finns i WS-Management Protocol.

Om du anropar metoden WSMan.CreateSession för att skapa ett Session-objekt startas en session som ansluter till den lokala WinRM.

för att skapa en WSMan-session och hämta data

  1. Skapa ett WSMan- objekt.

    Set objWsman = CreateObject("Wsman.Automation")
    
  2. Skapa en session genom att anropa metoden WSMan.CreateSession. Den här sessionen körs under ditt användarnamn och lösenord för inloggning och kan hämta data via den lokala WinRM.

    Set objSession = objWsman.CreateSession()
    
  3. Skapa en resurs URI- för att identifiera den resurs du vill hantera eller hämta data för. Mer information om hur du formaterar en URI finns i Resurs-URI:er. Den här resurs-URI:n är avsedd för en specifik instans av klassen WMI Win32_Service, Winmgmt-tjänsten. Mer information finns i Windows Remote Management och WMI.

    strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Winmgmt"
    
  4. Anropa metoder i session som hämtar eller räknar upp data med hjälp av resurs-URI. Mer information finns i WinRM-skript-API.

    strResponse = objSession.Get(strResource)
    Wscript.Echo strResponse
    
  5. Information om hur du hämtar eller hanterar data från en annan dator eller använder olika autentiseringsmetoder finns i Hämta data från en fjärrdator.

Följande VBScript-kodexempel visar det fullständiga skriptet som hämtar den specifika instansen av WMI-Win32_Service med namnet "Winmgmt".

Set objWsman = CreateObject("Wsman.Automation")
Set objSession = objWsman.CreateSession()
strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Winmgmt"
strResponse = objSession.Get(strResource)
Wscript.Echo strResponse

Följande VBScript-kodexempel visar det fullständiga skriptet med datatransformering. Mer information finns i Visa XML-utdata från WinRM-skript.

Set objWsman = CreateObject("Wsman.Automation")
Set objSession = objWsman.CreateSession()
strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Winmgmt"
strResponse = objSession.Get(strResource)
Set xmlFile = CreateObject("MSXml.DOMDocument")
Set xslFile = CreateObject("MSXml.DOMDocument")
xmlFile.LoadXml(strResponse)
xslFile.Load("WsmTxt.xsl")
Wscript.Echo xmlFile.TransformNode(xslFile)

Om Windows Remote Management

Använda Windows Remote Management

Referens för Windows-fjärrhantering