不廢話了,開始吧
ansible管理windwos需要在windows上執行powershell指令碼,並且powershell指令碼還有版本要求有必要條件:
必要條件:
(1) 必須開啟以及配置powershell
(2)powershell版本必須3.0 or higer
如果您的系統是window7或者windows server 2008,那麼powershell 2.0已經內建了,可以公升級為3.0,4.0
如果您的系統是windows 8 或者windows server 2012,那麼powershell 3.0已經內建了,可以公升級為4.0
如果您的系統為windows 8.1或者windows server 2012 r2,那預設已經是4.0了。
檢視powershell版本,powershell 介面下輸入 $psversiontabl
[上傳失敗...(image-93b72f-1534605118005)]
開啟以及配置powershell
ansible 官方提供初始化指令碼
指令碼主要完成如下操作:
檢查最後安裝證書的指紋
配置錯誤處理
檢測power shell版本
檢查/啟動wimrm服務
確保winrm執行之後,檢查有ps會話配置
確保有ssl監聽
檢查基本鑑權
配置防火牆允許winrm https鏈結
本地測試通過網路方式連線是否正常
注意:如果提示系統中禁止執行指令碼,可以在powershell 命令列介面輸入 set-executionpolicy remotesigned 然後輸入y,在執行指令碼就不會報。
在計算機上執行winrm服務
powershell 3.0中執行
winrm qc開啟後,需要檢視配置是否已經開啟
3.3 主要是下圖auth中basic設定為true,service中allowunencrypted設定為true。
配置ansible控制機
配置方法有兩種:
第一種:
在/etc/ansible/hosts中
[windows]
192.168.1.11
[windows:vars]
ansible_ssh_user="administrator"
ansible_ssh_pass="123456"
ansible_ssh_port=5986
ansible_connection="winrm"
$ ansible windows -m win_ping
192.168.1.11 | success =>
第二種
在/etc/ansible/hosts中
[windows]
192.168.1.11 ansible_ssh_user="administrator" ansible_ssh_pass="123456" ansible_ssh_port=5986 ansible_connection="winrm"
要注意的是 埠方面ssl即https方式的使用5986,http使用5985。
區別於控制linux主機,win主機的命令,需要加上win_,具體支援情況請見官網
****簡單測試****
執行cmd命令
重啟的第一種方式
$ ansible windows -m win_shell -a "shutdown -r -t 1"
第二種方式,不加引數等同於第一種方式
$ ansible windows -m win_reboot
ansible批量管理 模組
1.ansible doc ansible doc l 列出所有模組 ansible doc 模組名 檢視該模組的幫助手冊2.ping模組 ansible web m ping3.command模組 ansible web m command a uptime 對web組的主機執行uptime4.s...
利用ansible進行主機管理
安裝好了 ansible 之後後就可以開始一些簡單的任務了 ansible配置檔案查詢順序 首先檢測 ansible config 變數定義的配置檔案 其次檢查當前目錄下的 ansible.cfg 檔案 再次檢查當前使用者家目錄下 ansible.cfg 檔案 最後檢查 etc ansible an...
03 ansible管理命令
一 ansible 管理命令 ansible 管理命令有如下幾個 1 ansible 這個命令是日常工作中使用率非常高的命令之一,主要用於臨時一次性操作 2 ansible doc ansible 模組文件說明,針對每個模組都有詳細的用法說明和應用案例介紹 3 ansible galaxy 可以簡單...