Чтение онлайн

ЖАНРЫ

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

//Создание объекта 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

Поделиться с друзьями: