Выбрать главу

//Создаем объект класса Group

GroupObj=DomainObj.Create("group", GroupStr);

//Сохраняем информацию на компьютере

GroupObj.SetInfo();

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

Вывод информации о пользователе и смена его пароля

В листинге 11.4 приведен сценарий UserInfo.js, в котором выводится на экран информация о созданном в сценарии AddUser.js пользователе XUser (рис. 11.2).

Рис. 11.2. Информация о локальном пользователе XUser

Для получения этой информации мы производим связывание с нужным пользователем, т.е. создаем экземпляр UserObj объекта User и читаем данные из полей этого объекта:

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

UserObj=GetObject("WinNT://404_Popov/XUser, user");

//Формируем строку с информацией о пользователе

SInfо="Информация о пользователе XUser:\n";

SInfо+="Имя: "+UserObj.Name+"\n";

SInfо+="Описание: "+UserObj.Description+"\n";

//Выводим сформированную строку на экран

WScript.Echo(SInfo);

После этого в сценарии выдается запрос на изменение пароля пользователя XUser. Для этого мы используем метод Popup() объекта WshShell:

//Создаем объект WshShell

WshShell=WScript.CreateObject("WScript.Shell");

//Запрос на изменение пароля

Res=WshShell.Popup("Изменить пароль у XUser?", 0, "Администрирование пользователей", vbQuestion+vbYesNo);

В случае утвердительного ответа пароль изменяется с помощью метода SetPassword() объекта User, после чего все произведенные изменения сохраняются на рабочей станции с помощью метода SetInfo():

if (Res==vbYes) {

 //Нажата кнопка "Да"

 //Устанавливаем новый пароль

 UserObj.SetPassword("NewPassword");

 //Сохраняем сделанные изменения

 UserObj.SetInfо();

 WScript.Echo("Пароль был изменен");

}

Листинг 11.4. Вывод информации о пользователе компьютера и смена его пароля

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

/* Имя: UserInfo.js                                                 */

/* Язык: JScript                                                    */

/* Описание: Вывод информации о пользователе компьютера и смена     */

/*           его пароля                                             */

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

var

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

 Res,       //Результат нажатия кнопки в диалоговом окне

 SPassword, //Строка с новым паролем

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

//Инициализируем константы для диалогового окна

var vbYesNo=4,vbQuestion=32,vbYes=6;

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

UserObj=GetObject("WinNT://404_Popov/XUser,user");

//Формируем строку с информацией о пользователе

SInfo="Информация о пользователе XUser:\n";

SInfo+="Имя: "+UserObj.Name+"\n";

SInfo+="Описание: "+UserObj.Description+"\n";

//Выводим сформированную строку на экран

WScript.Echo(SInfo);

//Создаем объект WshShell

WshShell=WScript.CreateObject("WScript.Shell");

//Запрос на изменение пароля

Res=WshShell.Popup("Изменить пароль у XUser?", 0,

 "Администрирование пользователей", vbQuestion+vbYesNo);

if (Res==vbYes) { //Нажата кнопка Да

 //Устанавливаем новый пароль

 UserObj.SetPassword("NewPassword");

 //Сохраняем сделанные изменения

 UserObj.SetInfo();

 WScript.Echo("Пароль был изменен");

} else WScript.Echo("Вы отказались от изменения пароля");

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

Удаление пользователя и группы на рабочей станции  

Для удаления созданных с помощью сценариев AddUser.js и AddGroup.js пользователя XUser и группы XGroup мы создадим сценарий DelUserAndGroup.js, который представлен в листинге 11.5.

Замечание

Для удаления пользователя или группы у вас в системе должны быть назначены права, которыми обладает администратор.

В принципе, удалить пользователя и группу так же просто, как и создать — нужно связаться с объектом Computer:

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

и вызвать метод Delete(), указав в качестве первого параметра класс объекта, который мы хотим удалить, и в качестве второго параметра — имя этого объекта:

//Удаляем пользователя

ComputerObj.Delete("user", UserStr);