Список всех групп, в которые входит пользователь 

Список всех групп, в которые входит пользователь 

В сценарии 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);

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