1.bat脚本内容如下

@echo off
set /p a=C:UsersAdministratorDesktopip.txt
schtasks /run /tn test

上面脚本运行的过程如下:2.batà1.bat
解释:
zabbix调用指令,把需要远程的ip作为参数传给2.bat脚本,此时会在C:UsersAdministratorDesktopip.txt存入需要远程连接的ip(因为window的计划任务无法传参,所以要把ip存放到本地)。接着,2.bat脚本就会调用计划任务test,计划任务test实际上就是调用1.bat脚本。这样的话,最终的脚本就是zabbix调用指令,为的就是执行mstsc /v:远程ip而已。Zabbix通过指令,直接运行mstsc /v:远程ip是无法开启远程桌面的。所以需要通过zabbix+bat脚本+计划任务实现开启window远程桌面的功能。

第三步:创建window计划任务

我的电脑右键管理,打开任务计划程序,右边点击创建计划

zabbix 远程命令 主动式_bat脚本


zabbix 远程命令 主动式_学习_02


创建一个名为test的计划,该计划是执行1.bat脚本

zabbix 远程命令 主动式_单元测试_03


第四步:zabbix调用指令开启远程桌面调用方式用system.run。因为system.run可以直接调用,而不需要在zabbix_agent.conf里面配置键值。

zabbix 远程命令 主动式_bat脚本_04


用来浏览zabbix_web界面的这台主机的ip是192.168.1.47。配置一个指令叫开启window远程桌面

zabbix 远程命令 主动式_bat脚本_05


/usr/local/zabbix/bin/zabbix_get -s 192.168.1.47 -k system.run[“C:UsersAdministratorDesktop2.bat {HOST.IP}”]

解释:

Zabbix_server调用192.168.1.47(用浏览器浏览web的主机)上的2.bat脚本来开启远程主机。{HOST.IP}可动态变化,那台主机执行这个指令就是开启那台主机的远程。

实验验证

在1.47上选择1.38执行开启远程桌面的脚本,能开启1.38的远程桌面

zabbix 远程命令 主动式_单元测试_06


zabbix 远程命令 主动式_bat脚本_07


试验成功