Ansible 管理windwos伺服器(一)

2021-09-20 01:23:02 字數 2176 閱讀 7548

不廢話了,開始吧

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 可以簡單...