Выбрать главу

//Создание объекта Enumerator для доступа к коллекции ComputerObj

E=new Enumerator(ComputerObj);

SList="Ha компьютере 404_Popov созданы группы:\n";

После этого в цикле while из коллекции ComputerObj выбираются лишь объекты класса Group, т.е. те объекты, у которых в поле Class записана строка "Group"; в SList заносятся названия групп из поля Name:

while (!E.atEnd()) {

 //Извлекаем текущий элемент коллекции

 GroupObj=E.item();

 //Выделение объектов класса Group

 if (GroupObj.Class == "Group")

  //Формируем строку с именами групп

  SList+=GroupObj.Name+"\n";

 //Переход к следующему элементу коллекции

 E.moveNext();

}

Рис. 11.5. Список всех локальных групп, определенных на рабочей станции

После окончания цикла сформированная строка выводится на экран (см. рис. 11.5):

//Выводим информацию на экран

WScript.Echo(SList);

Листинг 11.6. Вывод на экран имен всех локальных групп заданной рабочей станции

/********************************************************************/

/* Имя: ListAllGroups.js                                               */

/* Язык: JScript                                                    */

/* Описание: Вывод на экран имен всех групп заданного компьютера    */

/********************************************************************/

//Объявляем переменные

var

 ComputerObj, //Экземпляр объекта Computer

 E,           //Объект Enumerator

 SList;       //Строка для вывода на экран

//Связываемся с компьютером 404_Popov

ComputerObj = GetObject("WinNT://404_Popov");

//Создание объекта Enumerator для доступа к коллекции ComputerObj

E=new Enumerator(ComputerObj);

SList="На компьютере 404_Popov созданы группы:\n";

//Цикл по всем элементам коллекции объектов компьютера

while (!E.atEnd()) {

 //Извлекаем текущий элемент коллекции

 GroupObj=E.item();

 //Выделение объекты класса Group

 if (GroupObj.Class == "Group")

  //Формируем строку с именами групп

  SList+=GroupObj.Name+"\n";

 //Переход к следующему элементу коллекции 

 E.moveNext();

}

//Выводим информацию на экран

WScript.Echo(SList);

/*************  Конец *********************************************/

Список всех пользователей в группе

В листинге 11.7 приведен сценарий ListUsers.js, в котором формируется список всех пользователей, входящих в группу "Пользователи" на компьютере 404_Popov.

Для связывания с группой "Пользователи" рабочей станции 404_Popov создается объект GroupObj; коллекция пользователей этой группы формируется с помощью метода Members() объекта Group:

//Связываемся с группой Пользователи компьютера 404_Popov

GroupObj=GetObject("WinNT://404_Ророv/Пользователи,group");

//Создание объекта Enumerator для доступа к коллекции пользователей

E=new Enumerator(GroupObj.Members());

После инициализации переменной SList мы обрабатываем в цикле while все элементы полученной коллекции; на каждом шаге цикла к переменной SList добавляется имя текущего пользователя (поле Name в объекте user — текущем элементе коллекции):

SList="Bce пользователи группы Пользователи на компьютере 404_Popov:\n";

//Цикл по всем элементам коллекции пользователей

while (!E.atEnd()) {

 //Извлечение элемента коллекции класса User

 UserObj=Е.item();

 //Формируем строку с именами пользователей

 SList+=UserObj.Name+"\n";

 //Переходим к следующему элементу коллекции

 E.moveNext();

}

После выхода из цикла сформированная строка SList выводится на экран (рис. 11.6):

//Выводим информацию на экран

WScript.Echo(SList);

Рис. 11.6. Список всех пользователей заданной группы

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

/********************************************************************/

/* Имя: ListUsers.js                                                */

/* Язык: JScript                                                    */

/* Описание: Вывод на экран имен всех пользователей заданной группы */