Список всех групп на рабочей станции
Список всех групп на рабочей станции
Принцип формирования списка всех групп рабочей станции остается тем же, что и для рассмотренного выше списка всех доступных доменов локальной сети, однако первоначальное связывание нужно производить не с корневым объектом класса 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);
/************* Конец *********************************************/