【问题标题】:Install/Uninstall Zabbix with Powershell in c:\Program files(x86)\zabbix folder在 c:\Program files(x86)\zabbix 文件夹中使用 Powershell 安装/卸载 Zabbix
【发布时间】:2020-11-09 15:35:14
【问题描述】:

为了在我们公司分发 Zabbix,我想在我的安装脚本中为 Zabbix 5.2 客户端创建一个函数。 这也意味着 zabbix_agentd.exe 被注册为具有相关参数的服务。 我显然太愚蠢了,无法在启动过程中执行此操作。

以下行作为示例..我尝试了一些方法,但找不到合适的报价等。

start-process -FilePath cmd.exe -ArgumentList "/c c:\program files (x86)\zabbix\zabbix_agend.exe --config C:\Program Files (x86)\Zabbix\zabbix_agentd.win.conf --安装”

我也希望能把zabbix_agentd.exe的路径作为变量传递

希望有人给点小费。

提前致谢

【问题讨论】:

    标签: powershell zabbix


    【解决方案1】:

    对于 Windows,我使用 MSI 进行安装并检查注册表是否已安装正确的版本,否则升级。

    替换 和 为你自己的。

    $zabbixversion = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Zabbix SIA\Zabbix 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 package

      您可以将服务器的主机名/IP 地址、远程命令支持、psk 支持等指定为参数...

      然后您可以使用 cmd/powershell 启动它,甚至可以通过 GPO 更好地启动它

      有关一些示例,请参阅documentation page

      【讨论】:

      • 非常感谢您的回复。我仍然在许多客户端上将旧代理作为服务运行,我想先使用 --uninstall 命令将其删除。你还有别的想法吗?
      • 在装有旧代理的盒子上手动尝试使用 msi:如果安装程序检测到它,您可以使用新包删除旧包(即:通过命令行使用 msiexec /x ....) , 或覆盖安装
      猜你喜欢
      • 2017-02-01
      • 2012-08-17
      • 2019-03-26
      • 2010-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      相关资源
      最近更新 更多