Korzystanie z biblioteki typów skryptów usługi WMI
Można używać biblioteki typów skryptów WMI do wywoływania metod WMI Scripting API w programie Microsoft Visual Studio oraz w plikach WSF Windows Script Host.
Korzystanie z biblioteki typów skryptów usługi WMI w programie Microsoft Visual Studio
Notatka
Funkcje programu Visual InterDev 6.0 zostały zintegrowane z programem Microsoft Visual Studio .NET.
W poniższej procedurze opisano, jak włączyć zintegrowane środowisko programistyczne (IDE), aby było świadome biblioteki typów WbemScripting.
Aby dodać bibliotekę typów skryptów WMI do odniesień w projekcie
Wybierz pozycję Dodaj odwołania z menu projektu.
Na karcie COM okna Dodaj odwołanie wybierz pozycję Biblioteka Microsoft WMI Scripting V1.2.
Jeśli na liście Odwołania nie jest wyświetlana żadna odpowiednia opcja, dodaj ją, korzystając z Przeglądaj w polu Odwołania. Przeglądaj otwiera okno Dodaj odwołanie, które umożliwia zlokalizowanie biblioteki typów WbemScripting.
Biblioteka typów WbemScripting znajduje się w pliku Wbemdisp.tlb w katalogu %windir%\System32\Wbem.
Wybierz plik i kliknij Otwórz. Biblioteka Microsoft WMI Scripting V1.2 jest wyświetlana na liście odwołań. Upewnij się, że zaznaczono pole obok tego elementu na liście.
Używanie biblioteki typów skryptów usługi WMI z hostem skryptów systemu Windows 2.0
Możesz dołączyć odwołanie do WbemScripting.SWbemLocator w pliku WSF hosta skryptów systemu Windows, w przeciwieństwie do skryptu napisanego w języku Visual Basic, Scripting Edition lub innych językach skryptów. Dzięki temu można używać stałych nazw zamiast wartości. Na przykład użyj WbemAuthenticationLevelPrivacy, a nie wartości 6 podczas ustawiania uwierzytelniania.
Skrypty mogą łączyć się z interfejsem API skryptów dla biblioteki typów WMI przy użyciu następujących metod:
Określanie identyfikatora GUID WbemScripting w metodach VBScript CreateObject i GetObject.
To powiadamia hosta skryptów systemu Windows, aby połączyć się z zestawem obiektów WMI.
Poniższy przykład kodu VBScript tworzy nowy obiekt SWbemDateTime.
Set dateTime = CreateObject("WbemScripting.SWbemDateTime")
Używając ciągu Moniker "winmgmts:" do uzyskania nowego lub istniejącego obiektu.
Poniższy przykład kodu VBScript używa nazwy "winmgmts:", aby uzyskać wystąpienie Win32_Process z właściwością Handle o wartości 0 (zero). Handle jest kluczową właściwością dla tej klasy.
Set Process = GetObject("winmgmts:Win32_Process.Handle=0")
Odwoływanie się do biblioteki typów WMI przy użyciu referencji <i tagu> formatu pliku XML WSH 2.0. Jeśli używasz tagu <odwołania>, tag powinien mieć atrybut uuid, którego wartość to identyfikator GUID dla biblioteki typów WMI, lub (zalecane) atrybut obiektu, którego wartością jest PROGID dowolnego z obiektów skryptów usługi WMI, które można stworzyć.
Poniższy przykład kodu VBScript używa identyfikatora PROGID "WbemScripting". Aby uruchomić skrypt, zapisz tekst w pliku z rozszerzeniem 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>
Używanie tagu> obiektu <w celu utworzenia obiektu skryptowego usługi WMI. Można określić atrybut id z wartością nazwy, która odnosi się do obiektu skryptowego usługi WMI, który chcesz utworzyć, oraz atrybut progid równy PROID obiektu skryptowego usługi WMI.
Poniższy skrypt WSH wyświetla nazwę hosta i liczbę procesorów na komputerze lokalnym. Aby uruchomić skrypt, zapisz tekst w pliku z rozszerzeniem 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>
Tematy pokrewne
-
skrypty w usłudze WMI
-
interfejs API skryptów dla usługi WMI