Шрифт:
Интервал:
Закладка:
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);
Однако здесь могут возникнуть ошибки (например, мы не запускали предварительно сценарий AddUser.js и у нас на компьютере не зарегистрирован пользователь, которого мы хотим удалить). Поэтому в сценарии DelUserAndGroup.js предусмотрена обработка исключительных ситуаций с помощью конструкции try…catch:
IsError=false;
try {
 //Удаляем пользователя
В ComputerObj.Delete("user", UserStr);
} catch (e) { //Обрабатываем возможные ошибки
В if (e != 0) {
 //Выводим сообщение об ошибке
В IsError=true;
 Mess="Ошибка при удалении пользователя "+UserStr+"nКод ошибки: " + е.number+"nОписание: "+е.description;
  WshShell.Popup(Mess, 0, "Удаление пользователя", vbCritical);
В }
}
Как мы видим, если при вызове метода Delete() произойдет какая-либо ошибка, значение переменной IsError станет равным true, а на экран с помощью метода Popup() объекта WshShell выведется соответствующее сообщение (рис. 11.3).
Рис. 11.3. Сообщение, формируемое при попытке удаления несуществующего пользователя
Если же удаление прошло успешно (значение переменной IsError равно false), то на экран также выведется соответствующее диалоговое окно (рис. 11.4):
- Windows Vista. Для профессионалов - Роман Клименко - Программное обеспечение
- Microsoft Windows SharePoint Services 3.0. Русская версия. Главы 9-16 - Ольга Лондер - Программное обеспечение
- Настройка Windows 7 своими руками. Как сделать, чтобы работать было легко и удобно - Алексей Гладкий - Программное обеспечение
- Изучаем Windows Vista. Начали! - Дмитрий Донцов - Программное обеспечение
- Реестр Windows XP. Трюки и эффекты - Алексей Гладкий - Программное обеспечение
- Самоучитель Windows 7 - Сергей Вавилов - Программное обеспечение
- Установка, настройка и восстановление Windows 7 на 100% - Александр Ватаманюк - Программное обеспечение
- Windows Vista - Сергей Вавилов - Программное обеспечение
- Windows Vista. Компьютерная шпаргалка - Тимур Хачиров - Программное обеспечение
- Создание и обслуживание сетей в Windows 7 - Александр Ватаманюк - Программное обеспечение