💭
AD環境のWindowsをAnsibleで操作する
TL;DR
Active Directryに参加しているWindow10をWSL2のUbuntu20.04にインストールしたAnsibleで操作する環境を構築しました。複雑な手順が必要ですが、操作できることを確認しました。
手順
Windows 10
-
WSL2を有効にし、Ubuntu20.04をインストール
-
リモート接続を受け付けるための設定(要管理者権限)
Invoke-WebRequest -Uri https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1 -OutFile ConfigureRemotingForAnsible.ps1 powershell -ExecutionPolicy RemoteSigned .\ConfigureRemotingForAnsible.ps1
Ubuntu20.04
-
最新のAnsibleをインストール
sudo apt update sudo apt install software-properties-common sudo apt-add-repository --yes --update ppa:ansible/ansible sudo apt install ansible
-
以下のaptパッケージのインストール
- python3-pip
- gcc
- python-dev
- libkrb5-dev
- krb5-user
-
pip3で以下のPythonライブラリをインストール
- pywinrm[kerberos]
- kerberos
- requests_kerberos
- pykerberos
-
以下の内容で
/etc/krb5.conf
を修正[libdefaults] default_realm = EXAMPLE.COM kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true [realms] EXAMPLE.COM = { kdc = dc1.example.com } [domain_realm] .example.com = EXAMPLE.COM
-
/etc/hosts
に以下のエントリを追加192.168.xxx.xxx dc1.example.com
-
inventory.yml
に以下の記述を記載windows: hosts: 192.168.yyy.yyy: ansible_connection: winrm ansible_user: user_name ansible_winrm_server_cert_validation: ignore ansible_winrm_transport: kerberos ansible_port: 5986 ansible_winrm_kerberos_delegation: yes
-
ansible -i inventory.yml 192.168.yyy.yyy -m win_ping
が成功することを確認
Discussion