Ansible for Windows

参考

メモ

WindowsをAnsibleで管理する方法を説明するブログで基本的に問題ない。

最初の環境のはじめ方

Ansibleのインストール、実行環境

Windows10 に ゼロから Ansible をインストールする(Ansible for Windows) ではDocker for Windowsで環境構築をしているが、 WSLを使う方法はどうだろうか?

パッケージ管理

chocolateyを利用すればよいだろう。

注意点

Ansible環境

自身の環境では、UbuntuのレポジトリからインストールしたAnsibleを使用していたが、 pywinrmを有効にする手間がかかりそうだったので、condaで環境を作った。

1
2
3
$ conda create -n ansible python
$ conda activate ansible
$ pip install ansible pywinrm

とした。

Windows環境での実行ユーザ

MSアカウントに対しての実行が手間取りそうだったので、 ここではAdministratorで実験した。

Ansibleのインベントリは以下のようなものを用意した。

1
2
3
4
5
6
7
8
9
[win]
<対象となるWin環境>

[win:vars]
ansible_ssh_user=Administrator
ansible_ssh_port=5986
ansible_connection=winrm
ansible_winrm_transport=ntlm
ansible_winrm_server_cert_validation=ignore

Pingコマンドは以下の通り。 (パスワードを聞かれるので予め設定したAdministratorのパスワードを入れる)

1
$ ansible -i hosts.win -m win_ping win -k

パッケージインストールの動作確認は以下の通り。

1
2
$ ansible -i hosts.win -m win_chocolatey -a "name=googlechrome state=present" win -k
$ ansible -i hosts.win -m win_chocolatey -a "name=vim state=present" win -k

シェルの実行

AnsibleでWindowsのシェル実行 によると、win_shellwin_commandscriptモジュールを使うと良いようだ。

WSL導入

WSL導入手順の説明のブログ の通り、PowerShellをAnsibleのwin_shellモジュール使ってインストールする。

共有