Использование библиотеки типов скриптов 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.
Выберите файл и щелкните Открыть. Библиотека сценариев WMI Версии 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")
Использование строки Moniker "winmgmts:" при получении нового или существующего объекта.
В следующем примере кода VBScript используется моникер "winmgmts:", чтобы получить экземпляр Win32_Process со свойством дескриптор 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. Можно указать атрибут идентификатора со значением имени, ссылающегося на объект скриптов 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>
Связанные разделы
-
API скриптов для WMI