![]() |
Команда для удаленного запуска bat файла с повышением прав.
Добрый день!
У меня такая ситуация: У меня есть около 50 серверов находящихся в одном домене. Я администратор домена. Мне необходимо переустановить zabbix_agent, он существует на серверах как служба. Естественно, я не хочу заходить на каждый сервер и вручную это все делать. Я сделал пару батников: Первый копирует необходимый дистрибутив на нужный сервер: xcopy "C:\zabbix_distr\bin\win64\dev\zabbix_sender.dll" "\\192.168.12.11\c$\Program Files\Zabbix\\bin\win64\dev" /z /y xcopy "C:\zabbix_distr\bin\win64\dev\zabbix_sender.lib" "\\192.168.12.11\c$\Program Files\Zabbix\bin\win64\dev" /z /y xcopy "C:\zabbix_distr\bin\win64\zabbix_agentd.exe" "\\192.168.12.11\c$\Program Files\Zabbix\bin\win64" /z /y xcopy "C:\zabbix_distr\bin\win64\zabbix_get.exe" "\\192.168.12.11\c$\Program Files\Zabbix\bin\win64" /z /y xcopy "C:\zabbix_distr\bin\win64\zabbix_sender.exe" "\\192.168.12.11\c$\Program Files\Zabbix\bin\win64" /z /y xcopy "C:\zabbix_distr\uninstall_zabbix.bat" "\\192.168.12.11\c$\Program Files\Zabbix\conf" /z /y Второй удаляет этот забикс агент: cd c:\program files\zabbix\bin\win64 zabbix_agentd.exe -d --uninstall и третий устанавливает: cd c:\program files\zabbix\bin\win64 "c:\program files\zabbix\bin\win64\zabbix_agentd.exe" --config "c:\program files\zabbix\conf\zabbix_agentd.conf" --install "c:\program files\zabbix\bin\win64\zabbix_agentd.exe" --config "c:\program files\zabbix\conf\zabbix_agentd.conf" --start Но у меня не получается удаленно запустить бат фалы по установке и удалению командой start \\192.168***... и так далее, так как чтобы установить/удалить службы, нужно выполнять с повышением прав. И вот, я не могу разобраться, как же это сделать удаленно с помощью bat файла.. |
И, кстати, если знаете команду по копированию одной директории с имеющимися внутри файлами и папками, буду рад =)
А то мне кажется копирование каждого файла немного корявым.. =) |
Возможно команда не выполняется не из-за недостатка прав (хоть я возможно и не прав), попробуйте вместо
Код:
start \\192.168.*** ... Код:
pushd \\192.168.***\ через GPO раскидываем файлы и через него же создаем задачу в шедулере с галочкой "Выполнять с наивысшими правами". |
К сожалению оба варианта не помогли..
По первому способу: При выполнении этого кода открывается cmd.exe от моего доменного имени. По второму способу: Задание выполняется. Пишет, что завершено успешно. Но служба все еще существует и в "результатах последнего запуска" код (0x1). |
Цитата:
Код:
pushd \\IP_удаленной_машины\имя_папки\ Цитата:
|
Цитата:
cd c:\program files\zabbix\bin\win64 zabbix_agentd.exe -d --uninstall Цитата:
pushd \\192.168.12.11\c$\Program Files\Zabbix\bin\win64\ start "C:\Program Files\Zabbix\uninstall_zabbix.bat" popd После него выходит окно cmd с предложением ввести следующие команды с места - Z:\Program Files\Zabbix\bin\win64> Как я понимаю, подвязывается диск С сервера, где должно выполниться удаление, к серверу откуда запускаю батник, и ему дается буква Z. Ладно, но если ввести в этом окне команду zabbix_agentd.exe -d --uninstall, то он выдает ошибку, что "zabbix_agentd.exe" не является внутренней или внешней командой... и так далее. |
Код:
pushd \\192.168.12.11\c$\Program Files\Zabbix\bin\win64\ |
Цитата:
|
НариманБ, Про кавычки не забыли вокруг пути с пробелами? Подозреваю, что сетевой диск просто не монтируется по этой причине.
Код:
pushd "\\192.168.12.11\c$\Program Files\Zabbix\bin\win64" |
Foreigner, pushd нормально пробелы переваривает - проверял несколько раз.
Остаются только два варианта: либо файла нету, либо в его имени в start допущена ошибка. |
Цитата:
|
Цитата:
ERROR: cannot connect to Service Manager, что говорит о том, что батник был запущен от моего имени, без повышения прав |
Цитата:
|
Цитата:
|
Вложений: 2
а зачем так сложно?
xcopy позволяет копировать папками xcopy /E /I C:\zabbix_distr\ "\\192.168.12.11\c$\Program Files\Zabbix" примерно так а запустить нужный файл на выполнение можно ч\з утилиты PsTools. выполнятся будет от system а если сделать SFX архив с параметрами запуска Zabbix.exe.sfx, то можно ниче не копировать PsExec и скопирует и запустит psexec [\\компьютер[,компьютер2[,...] | @файл-список_серверов -c -d Zabbix.exe.sfx |
Время: 11:57. |
Время: 11:57.
© OSzone.net 2001-2025