Список всех групп на рабочей станции

Список всех групп на рабочей станции

Принцип формирования списка всех групп рабочей станции остается тем же, что и для рассмотренного выше списка всех доступных доменов локальной сети, однако первоначальное связывание нужно производить не с корневым объектом класса Namespace, а с нужным объектом класса Computer.

В приведенном в листинге 11.6 сценарии ListAllGroups.js для связывания с компьютером 404_Popov мы создаем объект-контейнер ComputerObj, в котором содержатся все объекты рабочей станции 404_Popov:

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

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

Затем в сценарии создается объект Enumerator для доступа к элементам коллекции ComputerObj и инициализируется переменная SList, в которой будет храниться список всех локальных групп рабочей станции:

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

E=new Enumerator(ComputerObj);

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

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

while (!E.atEnd()) {

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

 GroupObj=E.item();

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

 if (GroupObj.Class == "Group")

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

  SList+=GroupObj.Name+" ";

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

 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 созданы группы: ";

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

while (!E.atEnd()) {

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

 GroupObj=E.item();

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

 if (GroupObj.Class == "Group")

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

  SList+=GroupObj.Name+" ";

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

 E.moveNext();

}

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

WScript.Echo(SList);

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