Безопасно запускаем выполнение программы с привелигерованными правами администратора

Интересную задачку удалось мне решить сегодня, как не прибегая к стороннему ПО и сохранении  пароля администратора в открытом доступе запустить программу под любым пользователем, в том числе и с административными правами из под обычного пользователя и даже сервиса.

Задачка началась с банальной проблемы, серверная UPS Delta посылает TRAP на отключение (Power Fault) в систему мониторинга Delta Shutdown Agent.

Проблема заключалась в том, что запуская агента с правами администратора не исполняется «Execute Command Line», и соответственное не выполняется скрипт, который должен выполнить некоторые задачи перед выключением сервера.

1

Для решения этой проблемы мы меняем настройки запуска сервиса на «Local System Account» и обязательно ставим галочку «Allow service to interact with desktop»

2

Теперь у нас сервис исполняет необходимые скрипты, но возникает другая проблема — как запустить скрипт с привелигерованными правами администратора из под Local System Account? (Нам например, понадобилось при Power Fault выключать все сервера)

Не будешь же на каждый сервер ставить агента, и под каждым прописывать свою логику выключения. Не по админски это. Надо настроить с одного сервера выключать всё и сразу. Но проблема известна, Local System account имеет права только на данном сервере, авторизацию на другом сервере он не пройдет.

Что делаем:

Заходим в Task Scheduler, создаем навый таск без триггеров, но с нужными правами и необходимой командой.

Не забываем поставить галочки как на картинке (Run whether user is logged on or not и Run with highest privileges)

3

4

5

Всё, теперь из bat файла прописанного в Delta Shutdown Agent с правами Local System запускаем нужный таск.

Всё )

Преимущество данного метода по сравнению с другими, в том что не нужно оставлять и куда-то прятать пароль, и что не нужно никакого дополнительного софта для выполнения такой простой функции.

 

Спасибо за внимание

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *