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

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

В листинге 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: ";

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

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

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

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: ";

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

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

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

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("Вы отказались от изменения пароля");

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