Книга: Windows Script Host для Windows 2000/XP

Список всех доступных доменов в локальной сети

Список всех доступных доменов в локальной сети

В листинге 11.1 приведен JScript-сценарий ListDomains.js, в котором создается список всех доменов, доступных в сети (рис. 11.1)


Рис. 11.1. Список всех имеющихся в сети доменов

В рассматриваемом сценарии производятся следующие действия. Сначала создается корневой объект NameSpaceObj класса Namespace для провайдера Windows NT, который содержит все остальные объекты службы каталога:

//Связываемся с корневым объектом Namespace
NameSpaceObj = GetObject("WinNT:");

Затем с помощью свойства Filter из коллекции NameSpaceObj выделяются все содержащиеся в ней объекты класса Domain и создается экземпляр объекта Enumerator (переменная е) для доступа к элементам коллекции NameSpaceObj:

//Устанавливаем фильтр для выделения объектов-доменов
NameSpaceObj.Filter = Array("domain");
//Создаем объект Enumerator для доступа к коллекции NameSpaceObj
E=new Enumerator(NameSpaceObj);

Список доменов будет храниться в переменной List, которая инициализируется следующим образом:

List="Bce доступные домены в сети:nn";

В цикле while выполняется перебор всех элементов коллекции, которые являются объектами класса Domain; название домена, хранящееся в свойстве Name, добавляется (вместе с символом разрыва строки) в переменную List:

while (!E.atEnd()) {
 //Извлекаем текущий элемент коллекции (объект класса Domain)
 DomObj=Е.item();
 //Формируем строку с именами доменов
 List+=DomObj.Name+"n";
 //Переходим к следующему элементу коллекции
 E.moveNext();
}

Сформированная таким образом переменная List выводится на экран с помощью метода Echo() объекта WScript:

WScript.Echo(List);

Листинг 11.1. Вывод на экран списка всех доменов локальной сети

/********************************************************************/
/* Имя: ListDomains.js                                              */
/* Язык: JScript                                                    */
/* Описание: Вывод на экран списка всех доменов локальной сети      */
/********************************************************************/
//Объявляем переменные
var
 NameSpaceObj, //Корневой объект Namespace
 DomObj,       //Экземпляр объекта Domain
 E,            //Объект Enumerator
 SList;        //Строка для вывода на экран
//Связываемся с корневым объектом Namespace
NameSpaceObj = GetObject("WinNT:");
//Устанавливаем фильтр для выделения объектов-доменов
NameSpaceObj.Filter = Array("domain");
//Создаем объект Enumerator для доступа к коллекции NameSpaceObj
E=new Enumerator(NameSpaceObj);
List="Все доступные домены в сети:nn";
//Цикл по всем элементам коллекции доменов
while (!E.atEnd()) {
 //Извлекаем текущий элемент коллекции (объект класса Domain)
 DomObj=E.item();
 //Формируем строку с именами доменов
 List+=DomObj.Name+"n";
 //Переходим к следующему элементу коллекции
 E.moveNext();
}
//Вывод информацию на экран
WScript.Echo(List);
/*************  Конец *********************************************/

Оглавление книги


Генерация: 3.038. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз