Använda WMI-skripttypbiblioteket

Du kan använda WMI-skripttypbiblioteket för att anropa WMI-skript-API-metoder från Microsoft Visual Studio och i WSF-filer för Windows-skriptvärdar.

Använda WMI-skripttypbiblioteket med Microsoft Visual Studio

Not

Visual InterDev 6.0-funktioner har integrerats i Microsoft Visual Studio .NET.

 

Följande procedur beskriver hur du gör det möjligt för den integrerade utvecklingsmiljön (IDE) att känna till wbemScripting-typbiblioteket.

Så här lägger du till WMI-skripttypbiblioteket i projektreferenserna

  1. Välj Lägg till referenser från menyn Projekt.

  2. På fliken COM i rutan Lägg till referens väljer du Microsoft WMI-skript V1.2-bibliotek.

  3. Om inget lämpligt alternativ visas i referenslistan lägger du till det med hjälp av knappen Bläddra i Referenser rutan. Bläddra öppnar en Lägg till referens-ruta som gör att du kan hitta wbemScripting-typbiblioteket.

    WbemScripting-typbiblioteket finns i filen Wbemdisp.tlb i katalogen %windir%\System32\Wbem.

  4. Välj filen och klicka på Öppna. Microsoft WMI Scripting V1.2-biblioteket visas i referenslistan. Se till att du markerar rutan bredvid det här objektet i listan.

Använda WMI-skripttypbiblioteket med Windows Script Host 2.0

Du kan inkludera referensen till WbemScripting.SWbemLocator i en Windows Script Host WSF-fil, till skillnad från ett skript skrivet i Visual Basic, Scripting Edition eller andra skriptspråk. På så sätt kan du använda konstanta namn i stället för värden. Använd till exempel WbemAuthenticationLevelPktPrivacy i stället för värdet 6 när du anger autentisering.

Skript kan ansluta till skript-API:et för WMI-typbiblioteket med hjälp av följande metoder:

  • Ange WbemScripting GUID i VBScript-metoderna CreateObject och GetObject.

    Detta meddelar Windows Script Host att ansluta till WMI-objektuppsättningen.

    I följande VBScript-kodexempel skapas ett nytt SWbemDateTime--objekt.

    Set dateTime = CreateObject("WbemScripting.SWbemDateTime")
    
  • Använd strängen Moniker "winmgmts:" när du hämtar ett nytt eller befintligt objekt.

    I följande VBScript-kodexempel används monikern "winmgmts:" för att hämta instansen av Win32_Process med egenskapen Handle på 0 (noll). Handtaget är den viktigaste egenskapen för den här klassen.

    Set Process = GetObject("winmgmts:Win32_Process.Handle=0")
    
  • Referera till WMI-typbiblioteket med hjälp av referenstaggen <> i XML-filformatet för WSH 2.0. Om du använder taggen <referens> måste taggen ha antingen ett uuid- attribut vars värde är GUID- för WMI-typbiblioteket, eller (rekommenderas) ett objektattribut vars värde är PROGID för något av de WMI-skriptobjekt som du kan skapa.

    I följande VBScript-kodexempel används PROGID för "WbemScripting". Om du vill köra skriptet sparar du texten i en fil med tillägget .wsf.

    <?xml version="1.0" encoding="US-ASCII"?>
    <job>
    <reference object="WbemScripting.SWbemLocator"/>
    <script language="VBScript">
        set service = GetObject("winmgmts:")
        ' Following line uses a symbolic 
        ' constant from the WMI type library
        service.Security_.impersonationLevel = _
            wbemImpersonationLevelDelegate
    </script>
    </job>
    
  • Använda ett <objekt> tagg för att skapa ett WMI-skriptobjekt. Du kan ange attributet id med värdet för ett namn som refererar till det WMI-skriptobjekt som du vill skapa och attributet progid som är lika med PROID för WMI-skriptobjektet.

    Följande WSH-skript visar värdnamnet och antalet processorer på den lokala datorn. Om du vill köra skriptet sparar du texten i en fil med tillägget .wsf.

    <?xml version="1.0" encoding="US-ASCII"?>
    <job>
     <object id="objSWbemLocator" progid="WbemScripting.SWbemLocator"/>
     <script language="VBScript">
    
      strComputer = "."
      Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
      Set colSettings = objSWbemServices.ExecQuery("Select * From Win32_ComputerSystem")
      For Each objComputer in colSettings
       Wscript.Echo "System Name: " & objComputer.Name
       Wscript.Echo "Number of Processors: " & objComputer.NumberOfProcessors
      Next
    
     </script>
    </job>
    

skriptning i WMI

-skript-API för WMI-