Использование библиотеки типов скриптов WMI
Библиотеку типов скриптов WMI можно использовать для вызова методов API сценариев WMI из Microsoft Visual Studio и в WSF-файлах узла сценариев Windows.
Использование библиотеки типов сценариев WMI с Microsoft Visual Studio
Примечание
Функции Visual InterDev 6.0 интегрированы в Microsoft Visual Studio .NET.
В следующей процедуре описывается, как включить интегрированную среду разработки (IDE) для поддержки библиотеки типов WbemScripting.
Добавление библиотеки типов скриптов WMI в ссылки на проект
Выберите Добавить ссылки в меню Проект .
На вкладке COM в поле Добавить ссылку выберите Библиотека Microsoft WMI Scripting версии 1.2.
Если подходящий параметр не отображается в списке Ссылки, добавьте его с помощью команды Обзор в поле Ссылки . Обзор открывает поле Добавить ссылку, позволяющее найти библиотеку типов WbemScripting.
Библиотека типов WbemScripting находится в файле Wbemdisp.tlb в каталоге %windir%\System32\Wbem.
Выберите файл и нажмите Открыть. Библиотека microsoft WMI Scripting версии 1.2 появится в списке ссылок. Убедитесь, что выбрано поле рядом с этим элементом в списке.
Использование библиотеки типов сценариев WMI с узлом сценариев Windows 2.0
Ссылку на WbemScripting.SWbemLocator можно включить в WSF-файл узла сценариев Windows, в отличие от скрипта, написанного на Visual Basic, Scripting Edition или других языках сценариев. Это позволяет использовать имена констант вместо значений. Например, при настройке проверки подлинности используйте WbemAuthenticationLevelPktPrivacy , а не значение 6.
Скрипты могут подключаться к API скриптов для библиотеки типов WMI с помощью следующих методов:
Указание GUID WbemScripting в методах VBScript CreateObject и GetObject.
Это оповещает узел сценариев Windows о подключении к набору объектов WMI.
В следующем примере кода VBScript создается новый объект SWbemDateTime .
Set dateTime = CreateObject("WbemScripting.SWbemDateTime")
Использование строки моникера "winmgmts:" при получении нового или существующего объекта.
В следующем примере кода VBScript используется моникер winmgmts:, чтобы получить экземпляр Win32_Process со свойством Handle , равным 0 (ноль). Handle — это ключевое свойство для этого класса.
Set Process = GetObject("winmgmts:Win32_Process.Handle=0")
Ссылка на библиотеку типов WMI с помощью <ссылочного> тега xml-файла WSH 2.0. При использовании <ссылочного> тега тег должен иметь атрибут uuid , значение которого является GUID библиотеки типов WMI, или (рекомендуется) атрибут объекта, значение которого равно PROGID любого из создаваемых объектов скриптов WMI.
В следующем примере кода VBScript используется PROGID WbemScripting . Чтобы запустить скрипт, сохраните текст в файле с расширением 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>
Использование тега <объекта для> создания объекта скрипта WMI. Можно указать атрибут id со значением имени, которое ссылается на объект скрипта WMI, который вы хотите создать, и атрибут progid , равный PROID объекта скрипта WMI.
Следующий скрипт WSH отображает имя узла и количество процессоров на локальном компьютере. Чтобы запустить скрипт, сохраните текст в файле с расширением 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>
Связанные темы