Андрей Попов - Windows Script Host для Windows 2000/XP
В E.moveNext();
}
//Выводим информацию на экран
WScript.Echo(SList);
/************* Конец *********************************************/
Список всех пользователей в группе
В листинге 11.7 приведен сценарий ListUsers.js, в котором формируется список всех пользователей, входящих в группу "Пользователи" на компьютере 404_Popov.
Для связывания с группой "Пользователи" рабочей станции 404_Popov создается объект GroupObj; коллекция пользователей этой группы формируется с помощью метода Members() объекта Group:
//Связываемся с группой Пользователи компьютера 404_Popov
GroupObj=GetObject("WinNT://404_Ророv/Пользователи,group");
//Создание объекта Enumerator для доступа к коллекции пользователей
E=new Enumerator(GroupObj.Members());
После инициализации переменной SList мы обрабатываем в цикле while все элементы полученной коллекции; на каждом шаге цикла к переменной SList добавляется имя текущего пользователя (поле Name в объекте user — текущем элементе коллекции):
SList="Bce пользователи группы Пользователи на компьютере 404_Popov:n";
//Цикл по всем элементам коллекции пользователей
while (!E.atEnd()) {
В //Рзвлечение элемента коллекции класса User
В UserObj=Р•.item();
 //Формируем строку с именами пользователей
В SList+=UserObj.Name+"n";
 //Переходим к следующему элементу коллекции
В E.moveNext();
}
После выхода из цикла сформированная строка SList выводится на экран (рис. 11.6):
//Выводим информацию на экран
WScript.Echo(SList);
Рис. 11.6. Список всех пользователей заданной группы
Листинг 11.7. Вывод на экран имен всех пользователей заданной группы/********************************************************************/
/* РРјСЏ: ListUsers.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                   */
/* Описание: Вывод на экран имен всех пользователей заданной группы */
/********************************************************************/
//Объявляем переменные
var
В GroupObj, //Ркземпляр объекта Group
 SList,   //Строка для вывода на экран
 E,       //Объект Enumerator
В UserObj;В //Ркземпляр объекта User
//Связываемся с группой Пользователи компьютера 404_Popov
GroupObj=GetObject("WinNT://404_Popov/Пользователи,group");
//Создание объекта Enumerator для доступа к коллекции пользователей
E=new Enumerator(GroupObj.Members());
SList="Все пользователи группы Пользователи на компьютере 404_Popov:n";
//Цикл по всем элементам коллекции пользователей
while (!E.atEnd()) {
В //Рзвлечение элемента коллекции класса User
В UserObj=E.item();
 //Формируем строку с именами пользователей
В SList+=UserObj.Name+"n";
 //Переходим к следующему элементу коллекции
В E.moveNext();
}
//Вывод информации на экран
WScript.Echo(SList);
/************* Конец *********************************************/
РЎРїРёСЃРѕРє всех РіСЂСѓРїРї, РІ которые РІС…РѕРґРёС‚ пользовательВ
В сценарии 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 входит в группы: n";
//Цикл по всем элементам коллекции групп
while (!Р•.atEnd()) {
В //Рзвлекаем элемент коллекции класса Group
В GroupObj=Р•.item();
 //Формируем строку с названиями групп
В SList+=GroupObj.Name+"n";
 //Переходим к следующему элементу коллекции
В E.moveNext();
}
Как мы видим, название групп хранится в свойстве Name объекта Group.
Сформированная строка SList выводится на экран, как обычно, с помощью метода Echo() объекта WScript:
//Вывод информации на экран
WScript.Echo(SList);
Листинг 11.8. Вывод на экран названия всех групп, членом которых является заданный пользователь/********************************************************************/
/* РРјСЏ: ListGroups.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                   */
/* Описание: Вывод на экран названия всех групп, членом которых    */
/*          является заданный пользователь                        */
/********************************************************************/
//Объявляем переменные
var
В UserObj,В //Ркземпляр объекта User
 E,       //Объект Enumerator
В GroupObj, //Ркземпляр объекта Group