Установка / удаление Zabbix с помощью Powershell в c:Program файлы (x86) папка zabbix

#powershell #zabbix

#powershell #zabbix

Вопрос:

чтобы распространять Zabbix в нашей компании, я хотел бы создать функцию для клиента Zabbix 5.2 в моем сценарии установки. Это также означает, что zabbix_agentd.exe регистрируется как сервис с соответствующими параметрами. Я, по-видимому, слишком глуп, чтобы сделать это с помощью процесса запуска.

Следующая строка служит примером .. Я попробовал несколько вещей, но не смог найти подходящее предложение и т. Д.

запуск-процесс -Путь к файлу cmd.exe -Список аргументов «/c c:program файлы (x86)zabbixzabbix_agend.exe —конфигурация C:Program Файлы (x86)Zabbixzabbix_agentd.win.conf —установить»

Я также надеюсь, что смогу передать путь к zabbix_agentd.exe как переменная

Надеюсь, у кого-нибудь есть совет.

Заранее спасибо

Ответ №1:

Для Windows я использую MSI для установки и проверяю реестр, если правильная версия уже установлена, иначе обновите.

Замените и на свой собственный.

 $zabbixversion = (Get-ItemProperty -Path "HKLM:SOFTWAREZabbix SIAZabbix Agent (64-bit)").ProductVersion

if ($zabbixversion -eq "5.0.20.2400") {
write-host "Zabbix already installed"
exit
}
else 
{
write-host "Uninstall Zabbix Agent"
msiexec /uninstall \<share>zabbix_agent-5.0.20-windows-amd64-openssl.msi server=<SERVERIP> sport=10050 lport=10050 SERVERACTIVE=<SERVERIP> rmtcmd=0

write-host "Installing Zabbix Agent"
msiexec /I \<share>\zabbix_agent-5.0.20-windows-amd64-openssl.msi server=<SERVERIP> sport=10050 lport=10050 SERVERACTIVE=<SERVERIP> rmtcmd=0
}
  

Ответ №2:

Вместо этого следует использовать пакет MSI.

В качестве параметров можно указать имя хоста / IP-адрес сервера, удаленную поддержку команд, поддержку psk и т.д…

Затем вы можете запустить его с помощью cmd / powershell или, что еще лучше, через объект групповой политики

Некоторые примеры см. На странице документации

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

1. Большое спасибо за ваш ответ. У меня все еще есть старый агент, работающий как служба на многих клиентах, который я хотел бы сначала удалить с помощью команды —uninstall . У вас есть другая идея?

2. Попробуйте вручную с msi на коробке, в которой установлен старый агент: если установщик обнаружит его, вы можете использовать новый пакет для удаления старого (т. Е.: С msiexec /x .... помощью командной строки) или перезаписать установку