Zabbix server 'Action' пытается запустить Powershell Host Agent - не запускается - PullRequest
0 голосов
/ 28 мая 2020

У меня есть несколько пользовательских параметров, определенных в моем файле конфигурации агента. Эти параметры вызывают Windows сценарии Powershell, которые я создал.

Zabbix Server: 4.4.0

Агент: 4.4.5 (работает на Windows Server 2016 Datacenter)

Пример UserParameter в файле конфигурации:

 UserParameter=test.testParams_ps,powershell -noninteractive "C:\Program Files\Zabbix Agent\scripts\Testing\testParams3.ps1"

Когда я активирую Userparameter вручную, вот результаты журнала:

> zabbix_get -s 127.0.0.1 -k test.testParams_ps
...
Requested [test.testParams_ps]
EXECUTE_STR() command:'powershell -noninteractive -file "C:\Program Files\Zabbix Agent\scripts\Testing\testParams.ps1"' len:54 cmd_result:'Executing PS script '
Sending back [Executing PS script from source = Zabbix server action]

Однако, когда я запускаю «Действие» на сервер Zabbix, который, в свою очередь, вызывает удаленный агент на этом хосте, скрипт Powershell фактически не запускается. Вот что содержит журнал:

Requested [system.run[\Program Files\Zabbix Agent\zabbix_get -s 127.0.0.1 -p 10050 -k test.testParams_ps,nowait]]
Executing command '\Program Files\Zabbix Agent\zabbix_get -s 127.0.0.1 -p 10050 -k test.testParams_ps'
zbx_execute_nowait(): executing [cmd /C "\Program Files\Zabbix Agent\zabbix_get -s 127.0.0.1 -p 10050 -k test.testParams_ps"]
Sending back [1]

Я подумал, что это может быть проблема с правами доступа к подпапке "scripts", но пользователь "System" имеет полный контроль над подпапками и сценарием. сами файлы.

1) Я могу запустить сценарий PS прямо на хосте (в командной строке Powershell) - никаких проблем. (Авторизовался на хосте через RDP - правда, используя другую учетную запись, чем «Система».)

2) Я могу использовать Zabbix Agent через «zabbix_get», чтобы активировать этот ключ и скрипт PS, через командную оболочку PS, запущенную на локальной машине - никаких проблем. (Выполнен вход через RDP на Хост, используя ту же учетную запись, что и в тесте 1.)

3) Запускаемое на стороне сервера «Действие», которое вызывает агент хоста с использованием того же ключа: не удается запустить сценарий, но попытка запустить сценарий ДЕЙСТВИТЕЛЬНО отображается в журнале локального агента на хосте.

Очевидно, существует некоторая разорванность между агентом и механизмом сценария PS, когда этот ключ вызывается из действия сервера.

Возможно ли, что это проблема конфигурации Powershell? Какой-то флаг или настройка на скриптах? (Я думал, что проверил их, и они в порядке, но, возможно, есть другой, который мне не хватает.)

Проверено:

• Get-ExecutionPolicy

• Unblock-файл

Есть ли у кого-нибудь подсказки, что проверить или исследовать?

Спасибо.

...