场景剖析:

A企业员工啊旺在zabbix_server上,执行了一个通过agent挪用远程window主机剧本的操作,然则由于该剧本的输出效果带有中文,啊旺在zabbix_server的界面看到的内容是一串乱码字符,他基本不知道远程剧本是否执行乐成。于是他想把剧本的输出效果改成英文提醒success或者error。但由于该剧本不是由啊旺编写的。以是他不知道应该修改剧本的谁人位置,才能使显示为英文。因此,本文的目的就是为了解决,zabbix_server挪用window的远程剧本带有中文的显示乱码问题

第一步:编写一个window上输出中文的bat剧本

在window服务器上执行bat剧本是否可以输出效果

Window主机上执行bat剧本,效果正常输出。

第二步:在zabbix_server上创键执行该文件的剧本

由于该剧本是window上的剧本,以是要选择执行在zabbix客户端

在剧本存放的主机上执行该剧本

执行后的效果,如下图,中文显示乱码,数字显示正常(英文也显示正常)

第三步:编写转码的bat剧本实现,中文的正常输出
文件的路径要用绝对值,否则挪用的时刻会泛起报错

第一行:把test.bat剧本执行效果的内容输出到1.txt文件
第二行,把test.txt这个文件转码为utf8的花样
(注重,第二行,源文件名不能和转码后的名字一样,否则会使转码后的文件为空)
即不能使用powershell -c "Get-Content F:\桌面C盘\1.txt|Out-File -Encoding utf8 F:\桌面C盘\1.txt"
第三行是查看test.bat剧本执行的就够
第四,五行删除适才天生的文件
重新修改执行window剧本

Ok,大功告成。中文显示正常