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