UncleFather » 19 июл 2012 20:37, Чт
Проблема:
Имеется ПО APC PowerChute Business Edition Console. К одному бесперебойнику подключены несколько серверов. Естественно, кабель управления подключен только к одному, а при пропадании питания необходимо корректно выключать все сервера, запитанные от этого бесперебойника. С этой целью создан и настроен командный файл:
Код: Выделить всё
shutdown /S /M \\SRV02 /t 0 /F /C "PowerChute - Power Failure"
shutdown /S /M \\fileserver /t 0 /F /C "PowerChute - Power Failure"
При пропадании питания он должен гасить серверы командой shutdown, однако, хоть скрипт и выполняется, сервера не отключаются.
Объяснение:
Всё дело в том, что скрипт запускается от имени пользователя, от имени которого стартует APC PBE Agent, а именно "Local System". У этого пользователя, естественно нет прав на отключение никаких других серверов кроме того, на котором он запущен.
Решение:
Для выполнения удаленного отключения из APC агента необходимо запускать процессы выключения от имени пользователя, обладающего соотвествующими правами.
Для этого:
-
либо в командном файле APC агента запускаем процессы выключения от имени другого пользователя, например
Код: Выделить всё
echo password|runas /User:Domain\User "shutdown /f /s /....."
-
либо настраиваем запуск службы APC PBE Agent от имени пользователя, обладающего правами как на запуск службы APC PBE Agent (чтоб она запускалась:-)))), на том компьютере котором он установлен, так и правами на выключение того компьютера, который необходимо выключать из командного файла, например в домене это пользователи, входящие в группу "администраторы домена".
[b][size=150]Проблема:[/size][/b]
Имеется ПО [b][i]APC PowerChute Business Edition Console[/i][/b]. К одному бесперебойнику подключены несколько серверов. Естественно, кабель управления подключен только к одному, а при пропадании питания необходимо корректно выключать все сервера, запитанные от этого бесперебойника. С этой целью создан и настроен командный файл:
[attachment=0]01.JPG[/attachment]
[code]shutdown /S /M \\SRV02 /t 0 /F /C "PowerChute - Power Failure"
shutdown /S /M \\fileserver /t 0 /F /C "PowerChute - Power Failure"[/code]
При пропадании питания он должен гасить серверы командой [b][i]shutdown[/i][/b], однако, хоть скрипт и выполняется, сервера не отключаются.
[b][size=150]Объяснение:[/size][/b]
Всё дело в том, что скрипт запускается от имени пользователя, от имени которого стартует [b]APC PBE Agent[/b], а именно [b][i]"Local System"[/i][/b]. У этого пользователя, естественно нет прав на отключение никаких других серверов кроме того, на котором он запущен.
[b][size=150]Решение:[/size][/b]
Для выполнения удаленного отключения из APC агента необходимо запускать процессы выключения от имени пользователя, обладающего соотвествующими правами.
Для этого:
[list][*] либо в командном файле APC агента запускаем процессы выключения от имени другого пользователя, например [code]echo password|runas /User:Domain\User "shutdown /f /s /....."[/code]
[*] либо настраиваем запуск службы [b]APC PBE Agent[/b] от имени пользователя, обладающего правами как на запуск службы [b]APC PBE Agent[/b] (чтоб она запускалась:-)))), на том компьютере котором он установлен, так и правами на выключение того компьютера, который необходимо выключать из командного файла, например в домене это пользователи, входящие в группу[b][i] "администраторы домена"[/i][/b].[/list]