Verwenden der WMI-Skripttypbibliothek

Sie können die WMI-Skripttypbibliothek verwenden, um WMI Scripting-API-Methoden aus Microsoft Visual Studio und in Windows WSF-Skripthostdateien aufzurufen.

Verwenden der WMI-Skripttypbibliothek mit Microsoft Visual Studio

Hinweis

Visual InterDev 6.0-Features wurden in Microsoft Visual Studio .NETintegriert.

Im folgenden Verfahren wird beschrieben, wie Sie der integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) ermöglichen, die WbemScripting-Typbibliothek zu kennen.

So fügen Sie den Projektverweisen die WMI-Skripttypbibliothek hinzu

  1. Wählen Sie im Menü Project die Option Verweise hinzufügen aus.

  2. Wählen Sie auf der Registerkarte COM des Felds Verweis hinzufügen die Option Microsoft WMI Scripting V1.2 Library aus.

  3. Wenn keine geeignete Option in der Liste Verweise angezeigt wird, fügen Sie sie mithilfe von Durchsuchen im Feld Verweise hinzu. Das Durchsuchen öffnet ein Feld Verweis hinzufügen, mit dem Sie die WbemScripting-Typbibliothek suchen können.

    Die WbemScripting-Typbibliothek befindet sich in der Datei Wbemdisp.tlb im Verzeichnis %windir% \ System32 \ Wbem.

  4. Wählen Sie die Datei aus, und klicken Sie auf Öffnen. Die Microsoft WMI Scripting V1.2-Bibliothek wird in der Verweisliste angezeigt. Stellen Sie sicher, dass Sie das Kontrollkästchen neben diesem Element in der Liste auswählen.

Verwenden der WMI-Skripttypbibliothek mit Windows Script Host 2.0

Sie können den Verweis auf WbemScripting.SWbemLocator in eine Windows Skripthost-WSF-Datei einfügen, im Gegensatz zu einem Skript, das in Visual Basic, Scripting Edition oder anderen Skriptsprachen geschrieben wurde. Dadurch können Sie konstante Namen anstelle von Werten verwenden. Verwenden Sie beispielsweise WbemAuthenticationLevelPktPrivacy anstelle des Werts 6, wenn Sie die Authentifizierung festlegen.

Skripts können mithilfe der folgenden Methoden eine Verbindung mit der Skript-API für die WMI-Typbibliothek herstellen:

  • Angeben der WbemScripting-GUID in den VBScript-Methoden CreateObject und GetObject.

    Diese Warnung Windows Skripthost, um eine Verbindung mit dem WMI-Objektsatz herzustellen.

    Im folgenden VBScript-Codebeispiel wird ein neues SWbemDateTime-Objekt erstellt.

    Set dateTime = CreateObject("WbemScripting.SWbemDateTime")
    
  • Verwenden der Monikerzeichenfolge "winmgmts:" beim Abrufen eines neuen oder vorhandenen Objekts.

    Im folgenden VBScript-Codebeispiel wird der Moniker "winmgmts:" verwendet, um die Instanz des Win32-Prozesses _ mit der Handle-Eigenschaft 0 (null) abzurufen. Handle ist die Schlüsseleigenschaft für diese Klasse.

    Set Process = GetObject("winmgmts:Win32_Process.Handle=0")
    
  • Verweisen auf die WMI-Typbibliothek mit dem < > Verweistag des WSH 2.0-XML-Dateiformats. Wenn Sie das < > Verweistag verwenden, muss das Tag entweder über ein uuid-Attribut verfügen, dessen Wert der GUID der WMI-Typbibliothek entspricht, oder (empfohlen) ein Objektattribut, dessen Wert der PROGID eines beliebigen WMI-Skriptobjekts entspricht, das Sie erstellen können.

    Im folgenden VBScript-Codebeispiel wird die PROGID von "WbemScripting" verwendet. Um das Skript auszuführen, speichern Sie den Text in einer Datei mit der Erweiterung 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>
    
  • Verwenden eines <-Objekts> Tag zum Erstellen eines WMI-Skriptobjekts. Sie können das ID-Attribut mit dem Wert eines Namens angeben, der auf das WMI-Skriptobjekt verweist, das Sie erstellen möchten, und das progid-Attribut gleich der PROID des WMI-Skriptobjekts.

    Das folgende WSH-Skript zeigt den Hostnamen und die Anzahl der Prozessoren auf dem lokalen Computer an. Um das Skript auszuführen, speichern Sie den Text in einer Datei mit der Erweiterung 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>
    

Skripterstellung in WMI

Skripterstellungs-API für WMI