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

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

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

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

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


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