Microsoft Windows Server 2003. Наиболее полное руководство

Использование WMI в LDAP-запросах



Windows Management Instrumentation (WMI) содержит специальный, интерфейс — WMIExtension, который позволяет использовать методы WMI для управления компьютерами, имена которых получаются из каталога Active Directory при помощи LDAP-запросов. Администратор получает возможность сочетать в своих сценариях гибкие и развитые возможности поиска в каталоге (с использованием интерфейсов ADSI) и методы WMI, которые позволяют обращаться ко многим системным параметрам и компонентам (например, выполняющимся сервисам, файловой системе, журналам событий, характеристикам операционной системы и т. д.).

Чтобы проиллюстрировать богатые возможности сценариев, использующих WMI и, в частности, интерфейс WMI ADSI Extension, расширяющий базовые функции ADSI, давайте, следуя хорошей поговорке "Лучше один раз увидеть, чем сто раз услышать.", рассмотрим демонстрационную программу на Basic, которая состоит из отдельных фрагментов кода, позволяющих получить ту или иную информацию о компьютерах домена. Эта программа также иллюстрирует использование интерфейсов ADSI для обращения к объектам Active Directory.

Листинг 11.1. Использование программного интерфейса WMI ADSI Extension

Option Explicit

Sub Main ()

Dim objAD As lADsContainer

Dim obj As IADs

Dim ADSObject As WMIExtension

Dim WMIServices As SWbemServices

Dim WMIObject As SWbemObject

Dim recSet As SWbemObjectSet

Dim LogFile As SWbemObject

Dim i As Integer

'Получить список компьютеров и опросить каждый:

Set objAD = GetObject("LDAP://CN=Computers,DC=net,DC=dom")

objAD.Filter = Array("computer")

i = 1

For Each obj In objAD

Debug.Print "#"; i;obj.Name; " ("; obj.ADsPath;")"

'Получение ссылки на объект типа computer из пространства имен LDAP:

Set ADSObject = GetObject(obj.ADsPath)

Debug.Print "WMI Object Path: " + ADSObject.WMIObjectPath

Set WMIObject = ADSObject.GetWMIQbject

Debug.Print vbCrLf

'Теперь можно использовать любые свойства или методы объекта WMI.




Начало  Назад  Вперед