Ansible Windowsコマンド実行結果の日本語文字化け対策にバッチファイル

AnsibleでWindowsコマンド実行すると結果に日本語が含まれる場合は、文字化けしてしまいます。

 

ということで、いろいろと調べてみたのですが、やはり、日本語の文字化けの対策が採用しているバージョンだと難しいことがわかりました。

 

次に、WinRMでリモート操作を考えたのですが、ワークグループ環境の場合、リモート先の設定も必要になり、これまた不採用。

 

ということで、ちょっと手数は増えますが、以下のサイトが参考になりました。

 

【Ansible Tower/AWX】バッチファイルで日本語が文字化けした時の対処方法 | 秋拓技術学院

 

どうやらAnsible経由でコマンドを実行すると文字コードの関係で文字化けするのですが、Batファイルだと文字化けしないとのこと。

 

 

つまり、

 

・Ansibleで作成したバッチファイルをリモートの所定の場所へコピーする

・Ansilbeで「win_command」を使ってバッチを実行する

⇒Batファイルの中身は所定の場所にログをリダイレクトするように設定

・ログの中身を出力する(typeコマンド)

・出力内容と登録して出力する

 

影響ないバッチファイルならサーバ上に残しておいてもまた状態確認で使えます。ログファイルもサイズが小さいですし。

 

Ansibleは便利ですが、たまにつまずくことがあるので、Ansibleだけに頼らずいろんなツールと組み合わせて使用するのがいい感じになります。

 

Ansible実践ガイド 第3版 impress top gearシリーズ