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

We use cookies. Read the Privacy and Cookie Policy

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

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

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