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

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:

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):

if (!IsError) { //Все в порядке

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

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

}

Рис. 11.4. Сообщение об удачном удалении пользователя

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

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

/* Имя: DelUserAndGroup.js */

/* Язык: JScript */

/* Описание: Удаление пользователя и группы компьютера */

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

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

var

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

 UserStr = "XUser", //Имя удаляемого пользователя

 GroupStr = "XGroup", //Имя удаляемой группы

 WshShell; //Объект WshShell

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

var vbCritical=16,vbInformation=64;

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

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

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

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

/************* Удаление пользователя ***********************/

IsError=false;

try {

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

 ComputerObj.Delete("user", UserStr);

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

 if (e != 0) {

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

IsError=true;

Mess="Ошибка при удалении пользователя "+UserStr+"\nКод ошибки: " + e.number + "\nОписание: " + e.description;

Поделиться:
Популярные книги

Кодекс Охотника. Книга XVIII

Винокуров Юрий
18. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVIII

Гримуар темного лорда IX

Грехов Тимофей
9. Гримуар темного лорда
Фантастика:
попаданцы
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда IX

Эпоха Опустошителя. Том I

Павлов Вел
1. Вечное Ристалище
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эпоха Опустошителя. Том I

Инженер Петра Великого

Гросов Виктор
1. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Инженер Петра Великого

Древесный маг Орловского княжества 4

Павлов Игорь Васильевич
4. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 4

Хозяин Теней 7

Петров Максим Николаевич
7. Безбожник
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Хозяин Теней 7

Курс 1. Сентябрь

Фокс Гарри
1. Маркатис
Фантастика:
аниме
фэнтези
сказочная фантастика
5.00
рейтинг книги
Курс 1. Сентябрь

Мастер 11

Чащин Валерий
11. Мастер
Фантастика:
боевая фантастика
попаданцы
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Мастер 11

Найденыш

Шмаков Алексей Семенович
2. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Найденыш

Палач

Зайцев Сергей Григорьевич
4. Викс
Фантастика:
фэнтези
7.27
рейтинг книги
Палач

Кодекс Императора IV

Сапфир Олег
4. Кодекс Императора
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Императора IV

Новые горизонты

Лисина Александра
5. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Новые горизонты

Дракон

Бубела Олег Николаевич
5. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.31
рейтинг книги
Дракон

Цикл "Идеальный мир для Лекаря". Компиляция. Книги 1-30

Сапфир Олег
Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Цикл Идеальный мир для Лекаря. Компиляция. Книги 1-30