Список всех групп, в которые входит пользователь
Список всех групп, в которые входит пользователь
В сценарии ListGroups.js, который представлен в листинге 11.8, на экран выводятся названия всех локальных групп, в которые входит пользователь Popov на рабочей станции 404_Popov (рис. 11.7).
Рис. 11.7. Список всех групп, членом которых является заданный пользователь
Для создания коллекции групп, членом которых является пользователь, нужно выполнить связывание с нужным пользователем, т.е. создать экземпляр объекта User и воспользоваться методом Groups() этого объекта:
//Связывание с пользователем Popov компьютера
404_Popov UserObj = GetObject("WinNT://404_Popov/Popov");
//Создание объекта Enumerator для доступа к коллекции групп пользователя
E=new Enumerator(UserObj.Groups());
Как и в предыдущих примерах, после инициализации переменной SList в цикле while происходит перебор всех элементов полученной коллекции:
Slist="Пользователь Popov входит в группы: ";
//Цикл по всем элементам коллекции групп
while (!Е.atEnd()) {
//Извлекаем элемент коллекции класса Group
GroupObj=Е.item();
//Формируем строку с названиями групп
SList+=GroupObj.Name+" ";
//Переходим к следующему элементу коллекции
E.moveNext();
}
Как мы видим, название групп хранится в свойстве Name объекта Group.
Сформированная строка SList выводится на экран, как обычно, с помощью метода Echo() объекта WScript:
//Вывод информации на экран
WScript.Echo(SList);
Листинг 11.8. Вывод на экран названия всех групп, членом которых является заданный пользователь
/********************************************************************/
/* Имя: ListGroups.js */
/* Язык: JScript */
/* Описание: Вывод на экран названия всех групп, членом которых */
/* является заданный пользователь */
/********************************************************************/
//Объявляем переменные
var
UserObj, //Экземпляр объекта User
E, //Объект Enumerator
GroupObj, //Экземпляр объекта Group
SList; //Строка для вывода на экран
//Связывание с пользователем Popov компьютера 404_Popov
UserObj = GetObject("WinNT://404_Popov/Popov");
//Создание объекта Enumerator для доступа к коллекции групп пользователя
E=new Enumerator(UserObj.Groups());
SList="Пользователь Popov входит в группы: ";
//Цикл по всем элементам коллекции групп
while (!E.atEnd()) {
//Извлекаем элемент коллекции класса Group
GroupObj=E.item();
//Формируем строку с названиями групп
SList+=GroupObj.Name+" ";
//Переходим к следующему элементу коллекции
E.moveNext();
}
//Вывод информации на экран
WScript.Echo(SList);
/************* Конец *********************************************/