S小魚仔S 網誌搜尋

2019年4月12日 星期五

S小魚仔S Ansible 支持 Windows 自動化操作

經過 萬能 Google 終於找到 Ansible 自動化操作 Windows 實作案例,Ansible 需要安裝「python pywinrm」模組,搭配Windows「Powershell 4.0」和「windows winrm」兩個組件完成自動化操作,本篇採用「Server 2008 R2」為「Node」(節點)。
PS. Server 2012 R2 以上系統已經有「Powershell 4.0」。

先決條件

1. 安裝「.NET Framework 4.5.2

2. 安裝「Windows Management Framework 4.0」(Powershell 4.0)



3. 使用 Powershell 輸入「get-host」確認「版本

4. 修改「Powershell」策略允許「remotesigned
set-executionpolicy remotesigned

5. 啟用「winrm quickconfig」服務

6. 輸入「winrm set winrm/config/service/auth '@{Basic="true"}'

7. 輸入「winrm set winrm/config/service '@{AllowUnencrypted="true"}'

8. 開放「Windows」防火牆
netsh advfirewall firewall add rule name="Winrm_Tcp_5985_Port" protocol=TCP dir=in localport=5985 action=allow

~~~~ 設定「Ansible」主機 ~~~~

1. Ansible 主機 使用「pip」安装「pywinrm」模組
pip install "pywinrm>=0.2.2"

2. 檢查「pywinrm」版本
pip list | grep "pywinrm"

3. 編寫「/etc/ansible/host」加入「監控」windows node
[windows]
192.168.8.111 ansible_ssh_user="Administrator" ansible_ssh_pass="xxxxx" ansible_ssh_port=5985 ansible_connection="winrm" ansible_winrm_server_cert_validation=ignore

4. 使用「win_shell」模組,查詢 IP 設置
ansible 192.168.8.111 -m win_shell -a 'ipconfig'

參考資料
www.cnblogs.com」-「厉害—Ansible管理windows集群