Русфонд

четверг, 15 марта 2012 г.

Запуск команд на удаленном Windows-компьютере без административных полномочий (проксирование)

Способ понравился тем, что позволяет обычному пользователю выполнять команду на удаленном компьютере, требующую административных привилегий, при этом пользователю не выдается каких либо полномочий, и пароль администратора не подвергается риску компрометации.
Для реализации необходимо три командных файла:
  • server.cmd, action.cmd на удаленной машине (в данном случае в папке c:\scripts)
  • run.cmd на компьютере у пользователя.
server.cmd
set trigger=c:\commandShare\trigger.txt
set action=c:\scripts\action.cmd
set log=c:\scripts\log.txt
:start
if exist %trigger% start %action% & echo %time% %date%>>%log% & del %trigger%
timeout /t 5
goto start

action.cmd
<команда, которую нужно выполнить>
exit

run.cmd
echo test > \\remote_server\commandShare\trigger.txt

Файл server.cmd запускается на удаленном компьютере с административными полномочиями, например с помощью планировщика задач.
server.cmd выполняет следующее:
1. проверяет наличие файла c:\commandShare\trigger.txt;
2. если файл существует trigger.txt, запускает action.cmd, который содержит набор требуемых к запуску команд;
2. пишет текущую дату и время в c:\scripts\log.txt;
3. удаляет trigger.txt;
Параметр timeout /t 5 регулирует период проверки наличия trigger.txt ( данном случае 5 секунд).

Файл run.cmd создает trigger.txt. У пользователя должны быть права на создание файлов в c:\commandShare на удаленном компьютере.

Источник itband.ru.

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

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