28 марта 2012 г.

Удалённое добавление|удаление пользователей из(в) группы

Мне как всегда больше всех надо, поэтому решил помочь нашей службе безопасности управлять пользователями на локальных ПК. Ходить удалять или добавлять в локальные группы пользователей занятие не очень интересное, поэтому решили автоматизировать сей процесс. Реализовать как всегда решил на C#, ибо и другие-то языки я не знаю, а этот вижу последние 3 месяца к ряду. Ну и без утилиты от Sysinternals в виде продукта PsExec не обошлось. С помощью неё запускается локальная программа net localgroup с помощью которой добавляются и удаляются нужные пользователи.
Вводить пользователей вручную также оказалось занятием мало интересным, поэтому список подгружается с компьютера пользователя с помощью WMI. Также с помощью WMI получается и имя текущего пользователя.
Так она выглядит после сразу после запуска
Вот так, если компьютер включен и получили список пользователей из
удалённой машины.
Вот так, если компьютер выключен.
Вот так, если в полученном списке отсутствует нужный пользователь.
Вот так в работе.
Вот так, если компьютер не существует, не отвечает на запросы Ping,
задвоены имена компьютеров в DNS... ну может и ещё каких причинах
Скачать её можно здесь. Без утилиты PsExec работать не будет и будет появляться окно с ошибкой.

После первого запуска создаётся файл "config.xml" в папке с программой, о чём сразу и оповещает. Его сразу необходимо отредактировать, чтобы передать параметры имени и пароля пользователя, с правами которого и будет запускаться net localgroup на удалённой машине. Файл представляет собой простую конфигурацию с тремя полями:

  Insert_User_Name
  Insert_Password_User
  PSExecKey

Тэг username отвечает за имя пользователя, от имени которого запускается программа на удалённой машине.
Тэг userpassword отвечает за пароль этого пользователя.
Тэг psexeckey за ключ, который отвечает за поведение утилиты psexec.

Комментариев нет:

Отправить комментарий

Уважаемый комментатор, пишите грамотно.
С благодарностью, автор блога.