Главная Обратная связь

Дисциплины:






Подключение к службе WMI



Первое, что необходимо сделать в скрипте – подключиться к службе WMI на локальном или удаленном компьютере. Подключение можно выполнять двумя разными способами: при помощи объекта SwbemLocator или при помощи так называемого моникера.

Первый способ:

1. Получаем объект SwbemLocator:

Dim oLocator

Set oLocator = CreateObject("wbemScripting.Swbemlocator")

У объекта SwbemLocator – одно свойство и один метод.

· Свойство security_ используется для получения ссылки на одноименный вложенный объект и используется для настройки безопасности при подключении (если она отличается от параметров по умолчанию),

· Метод ConnectServer() используется для подключения к службе WMI на локальном или удаленном компьютере.

2. Вызываем метод ConnectServer(), который возвращает нам объект SWbemServices:

Dim oServices

Set oServices = oLocator.ConnectServer("LONDON","root\Microsoft\SqlServer\ComputerManagement")

Здесь, LONDON — это имя сервера, а root\Microsoft\SqlServer\ComputerManagement — пространство имен для поставщика WMI Provider for Configuration Manager.

Чтобы воспользоваться пространством имен для поставщика WMI Provider for Server Events, необходимо измениить последнюю строку:

Set oServices = oLocator.ConnectServer("LONDON","root\Microsoft\SqlServer\ServerEvents")

3. Полученный объект SWbemServices можно использовать для выполнения запросов WQL, получения ссылок на объекты WMI и т.п.

Второй способ.

Моникер — это специальная метка, которая используется для подключения к COM-объектам. При использовании моникера синтаксис получается более коротким и гибким.

Set oServices = GetObject("WinMgmts://LONDON/root/Microsoft/SqlServer/ComputerManagement")

 

Чтобы подключиться к объекту, представляющему службы SQL Server, синтаксис может быть таким:

Set oServices = GetObject(“WinMgmts://LONDON/root/Microsoft/SqlServer/ComputerManagement:SQLService”)

7.4.5. Язык WQL: подключаемся к объектам WMI

После подключения к службе WMI в нашем распоряжении имеется объект SwbemServices:

Dim oLocator

Set oLocator = CreateObject("wbemScripting.Swbemlocator")

Dim oServices

Set oServices = oLocator.ConnectServer("LONDON", "root\Microsoft\SqlServer\ComputerManagement")

MsgBox TypeName(oServices)

 

Подключиться к конкретному объекту WMI, например, службе SQL Server, можно с помощью метода ExecQuery объекта SwbemServices, который выполняет запросна языке WQL, например:

Dim oCollection

Set oCollection = oServices.ExecQuery("select * from SQLService")



For Each item In oCollection

MsgBox item.ServiceName

Next

WQL (WMI Query Language или SQL for WMI) - это язык, основанный на языке SQL, и позиционируемый Microsoft как ANSI-совместимый.

В WQL предусмотрено три типа запросов:

1. запросы к данным;

2. запросы к событиям;

3. запросы к структуре WMI.

 

Общий вариант синтаксиса запроса WQL выглядит так:





sdamzavas.net - 2020 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...