■環境
windows 2008
PowerShell 2.0
■困りごと
ZabbixAgentをサーバにインストールする際、confファイルを置換した最後の文字列が出力されてしまう。
出来ればexe実行も正常に処理されるようにしたい。
■どうしたいか
出力されないようにしたい。
■コマンド
<引数>
$folder = @("C:\zabbix","C:\zabbix\bin","C:\zabbix\conf")
$conf = @(($folder[0]+"conf\zabbix_agentd.conf"),($folder[0]+"zabbix_agentd.conf"))
.\zabbix_agentd.exe -c $conf -i
<confファイル置換用のハッシュテーブル>
$h = @{
"LogFile=c:\zabbix_agentd.log" = "LogFile=$logPath" #\が特殊文字のため\に
"Server=127.0.0.1" = ("Server="+$IP)
"ServerActive=127.0.0.1" = ("ServerActive="+$IP)
"Hostname=Windows host" = "Hostname=" + (hostname)
"# HostMetadata=" = ("# HostMetadata=r
nr
HostMetadata="+$Metadata)
}
<置換コマンド>
$conf = [IO.File]::ReadAllText($conf_path[1], [Text.Encoding]::UTF8)
$h.GetEnumerator() | foreach { $conf = $conf.Replace($.Key, $.Value) }
$conf | Out-File $conf_path[1] -Encoding default
<exeファイル実行コマンド>
cd $folder[0]
.\zabbix_agentd.exe -c $conf_path[1] -i
<出力結果>
HostMetadata" in config file "C:\zabbix\zabbix_agentd.conf", line 158
関係しているコマンドはこのへんだと思います。よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/24 23:37