Связывание с нужным объектом каталога
Связывание с нужным объектом каталога
Первым шагом для доступа к пространству имен любого каталога в целях получения информации о его объектах или изменения свойств этих объектов является связывание (binding) с нужным объектом ADSI.
Рассмотрим вначале, каким образом формируется строка связывания для доступа к объектам отдельной рабочей станции с операционной системой Windows ХР. В общем виде эта строка имеет следующий формат:
"WinNT:[//ComputerName[/ObjectName[, className]]]]"
Здесь параметр ComputerName задает имя компьютера; ObjectName — имя объекта (это может быть имя группы, пользователя, принтера, сервиса и т. п.); className — класс объекта. Возможными значениями параметра className являются, например, group (группа пользователей), user (пользователь), printer (принтер) или service (сервис Windows ХР).
Указав в качестве строки ADsPath просто "WinNT:", можно выполнить связывание с корневым объектом-контейнером, содержащим все остальные объекты службы каталога.
Приведем несколько примеров строк связывания для доступа к различным объектам компьютера Windows ХР (табл. 11.1).
Таблица 11.1. Варианты строк связывания на компьютере Windows ХР
Строка ADsPath Описание "WinNT:" Строка для связывания с корневым объектом пространства имен "WinNT://404_Popov" Строка для связывания с компьютером 404_Popov "WinNT://404_Popov/Popov,user" Строка для связывания с пользователем Popov компьютера 404_Popov "WinNT://404_Popov/BankUsers, group" Строка для связывания с группой BankUsers на компьютере 404_PopovДля того чтобы из сценария WSH использовать объект ADSI, соответствующий сформированной строке связывания, необходимо применить функцию GetObject языка JScript, которая возвращает ссылку на объект ActiveX, находящийся во внешнем каталоге. Например:
var NameSpaceObj = GetObject("WinNT:");
var ComputerObj = GetObject("WinNT://404_Popov");
var UserObj = GetObject("WinNT://404_Popov/Popov,user");
var GroupObj = GetObject("WinNT://404_Popov/BankUsers, group");
Замечание
Во всех рассмотренных ранее сценариях для создания объектов ActiveX мы пользовались методами CreateObject и GetObject объекта WScript или объектом ActiveXObject языка JScript. Для связывания же с объектом ADSI нужно использовать именно функцию GetObject языка JScript (или VBScript)!
Перейдем теперь к рассмотрению конкретных примеров сценариев, использующих объекты ADSI.