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

ЖАНРЫ

Windows Script Host для Windows 2000/XP

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

Шрифт:

WshShell.Popup(Mess,0,"Удаление пользователя",vbCritical);

 }

}

if (!IsError) {

 //Все в порядке

 Mess="Пользователь "+UserStr+" удален";

 WshShell.Popup(Mess,0,"Удаление пользователя",vbInformation);

}

/************* Удаление группы ***********************/

IsError=false;

try {

 //Удаляем
группу

 ComputerObj.Delete("group", GroupStr);

} catch (e) { //Обрабатываем возможные ошибки

 if (e != 0) {

//Выводим сообщение об ошибке

IsError=true;

Mess="Ошибка при удалении группы "+GroupStr+"\nКод ошибки: " + e.number+"\nОписание: " + e.description;

WshShell.Popup(Mess,0,"Удаление группы",vbCritical);

 }

}

if (!IsError) {

 //Все в порядке

 Mess="Группа "+GroupStr+" удалена";

 WshShell.Popup(Mess,0,"Удаление группы",vbInformation);

}

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

Список всех групп на рабочей станции

Принцип формирования списка всех групп рабочей станции остается тем же, что и для рассмотренного выше списка всех доступных доменов локальной сети, однако первоначальное связывание нужно производить не с корневым объектом класса

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. Вывод на экран имен всех локальных групп заданной рабочей станции

/********************************************************************/

/* Имя: ListAllGroups.js */

/* Язык: JScript */

/* Описание: Вывод на экран имен всех групп заданного компьютера */

/********************************************************************/

//Объявляем переменные

var

 ComputerObj, //Экземпляр объекта Computer

 E, //Объект Enumerator

 SList; //Строка для вывода на экран

//Связываемся с компьютером 404_Popov

ComputerObj = GetObject("WinNT://404_Popov");

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

GroupObj=GetObject("WinNT://404_Ророv/Пользователи,group");

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