Delen via


De WMI-scripttypebibliotheek gebruiken

U kunt de WMI-scripttypebibliotheek gebruiken om WMI Scripting API-methoden aan te roepen vanuit Microsoft Visual Studio en in WSF-bestanden van Windows Script Host.

De WMI Scripting Type Library gebruiken met Microsoft Visual Studio

Notitie

Visual InterDev 6.0-functies zijn geïntegreerd in Microsoft Visual Studio .NET.

 

In de volgende procedure wordt beschreven hoe u de IDE (Integrated Development Environment) kunt inschakelen om op de hoogte te zijn van de WbemScripting-typebibliotheek.

De WMI Scripting-typebibliotheek toevoegen aan de projectverwijzingen

  1. Selecteer Verwijzingen toevoegen in het Project-menu .

  2. In het tabblad COM van het vak Verwijzing toevoegen selecteert u Microsoft WMI Scripting V1.2 Library.

  3. Als er geen geschikte optie in de lijst Verwijzingen staat, kunt u deze toevoegen door Bladeren te gebruiken in het vak Verwijzingen. Het Bladeren opent een Verwijzing toevoegen-vak waarmee u de WbemScripting-typebibliotheek kunt vinden.

    De WbemScripting-typebibliotheek bevindt zich in het bestand Wbemdisp.tlb in de map %windir%\System32\Wbem.

  4. Selecteer het bestand en klik op openen. Microsoft WMI Scripting V1.2 Library wordt weergegeven in de lijst met verwijzingen. Zorg ervoor dat u het vak naast dit item in de lijst selecteert.

De WMI Scripting Type Library gebruiken met Windows Script Host 2.0

U kunt de verwijzing naar de WbemScripting.SWbemLocator- opnemen in een Windows Script Host WSF-bestand, in tegenstelling tot een script dat is geschreven in Visual Basic, Scripting Edition of andere scripttalen. Hiermee kunt u constante namen gebruiken in plaats van waarden. Gebruik bijvoorbeeld WbemAuthenticationLevelPktPrivacy in plaats van de waarde 6 bij het instellen van verificatie.

Scripts kunnen verbinding maken met de Scripting-API voor WMI-typebibliotheek met behulp van de volgende methoden:

  • De WbemScripting-GUID opgeven in de VBScript-methoden CreateObject en GetObject.

    Hiermee wordt Windows Script Host gewaarschuwd om verbinding te maken met de WMI-objectset.

    In het volgende VBScript-codevoorbeeld wordt een nieuw SWbemDateTime--object gemaakt.

    Set dateTime = CreateObject("WbemScripting.SWbemDateTime")
    
  • Gebruik de Moniker-tekenreeks 'winmgmts:' bij het verkrijgen van een nieuw of bestaand object.

    In het volgende VBScript-codevoorbeeld wordt de moniker 'winmgmts:' gebruikt om het exemplaar van Win32_Process op te halen met een Handle eigenschap van 0 (nul). Handle is de sleuteleigenschap voor deze klasse.

    Set Process = GetObject("winmgmts:Win32_Process.Handle=0")
    
  • Een referentie naar de WMI-typebibliotheek met behulp van de <verwijzing en de> tag in de WSH 2.0 XML-bestandsindeling. Als u de <verwijzing> tag gebruikt, moet de tag een uuid kenmerk hebben waarvan de waarde de GUID van de WMI-typebibliotheek is, of (aanbevolen) een objectkenmerk met als waarde de PROGID van elk van de WMI-scriptobjecten die u kunt maken.

    In het volgende VBScript-codevoorbeeld wordt de PROGID van 'WbemScripting' gebruikt. Als u het script wilt uitvoeren, slaat u de tekst op in een bestand met de extensie .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>
    
  • Een <object> tag gebruiken om een WMI-scriptobject te maken. U kunt de id kenmerk opgeven met de waarde van een naam die verwijst naar het WMI-scriptobject dat u wilt maken, en het -kenmerk dat gelijk is aan de PROID van het WMI-scriptobject.

    In het volgende WSH-script worden de hostnaam en het aantal processors op de lokale computer weergegeven. Als u het script wilt uitvoeren, slaat u de tekst op in een bestand met de extensie .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>
    

Scripting in WMI

Script-API voor WMI-