Книга: Windows Script Host для Windows 2000/XP
Связывание с нужным объектом каталога
Связывание с нужным объектом каталога
Первым шагом для доступа к пространству имен любого каталога в целях получения информации о его объектах или изменения свойств этих объектов является связывание (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.
- Связывание с нужным объектом каталога
- Список всех доступных доменов в локальной сети
- Создание пользователя и группы на рабочей станции
- Вывод информации о пользователе и смена его пароля
- Удаление пользователя и группы на рабочей станции
- Список всех групп на рабочей станции
- Список всех пользователей в группе
- Список всех групп, в которые входит пользователь
- 28 Временное связывание
- Можно ли указать использование по умолчанию вместо C:Program Files другого каталога для установки программ?
- У файла и каталога есть атрибуты (например: Скрытый, Только чтение). Как ими управлять из командной строки?
- Удаление ключа из вашего каталога ключей.
- Концепции активного каталога
- 8.4.1. Смена каталога: chdir() и fchdir()
- Архитектура активного каталога
- 5.1. Просмотр содержимого каталога
- 5.1.2. Содержимое каталога
- 6.2.1.2. Пример: сортировка содержимого каталога
- 8.4.2. Получение текущего каталога: getcwd()
- 8.6. Изменение корневого каталога: chroot()