使用Ansible管理Windows

前言

本文主要介紹在如何使用Ansible管理Windows客戶端胖烛,Ansible官方提供了一個(gè)很方便的安裝腳本宽档,對(duì)于外網(wǎng)用戶來說安裝真的很輕松讲岁,可惜我遇到的問題是如何在內(nèi)網(wǎng)部署主之,有相同煩惱的小伙伴不妨參考下

輕輕松松使用Ansible管理Windows客戶端

更新歷史

2018年05月21日 - 初稿

閱讀原文 - https://wsgzao.github.io/post/ansible-windows/

擴(kuò)展閱讀

Ansible Windows Guides - http://docs.ansible.com/ansible/latest/user_guide/windows.html


Ansible Windows Support

Ansible在2.3版本之前對(duì)于Windows支持的并不算很友好颂鸿,從2.4版本開始已經(jīng)可以使用原生模塊實(shí)現(xiàn)很多需求

Because Windows is a non-POSIX-compliant operating system, there are differences between how Ansible interacts with them and the way Windows works. These guides will highlight some of the differences between Linux/Unix hosts and hosts running Windows.

  • Ansible’s supported Windows versions generally match those under current and extended support from Microsoft. Supported desktop OSs include Windows 7, 8.1, and 10, and supported server OSs are Windows Server 2008, 2008 R2, 2012, 2012 R2, and - 2016.
  • Ansible requires PowerShell 3.0 or newer and at least .NET 4.0 to be installed on the Windows host.
  • A WinRM listener should be created and activated. More details for this can be found below.
image

Ansible does not support managing Windows XP or Server 2003 hosts. The supported operating system versions are:

Windows Server 2008
Windows Server 2008 R2
Windows Server 2012
Windows Server 2012 R2
Windows Server 2016
Windows 7
Windows 8.1
Windows 10

  1. 在官方文檔中已經(jīng)提到了在Windows中使用Ansible的最要前提促绵,WinRM
  2. WinRM依賴Powershell 3.0以上版本的支持,牽扯出PowerShell 2.0 to PowerShell 3.0/5.0的問題
  3. 而Powershell升級(jí)則帶來.Net Framework是否跟隨升級(jí)至4.6.2/4.7.2的選擇
  4. 關(guān)于WinRM的參數(shù)配置可以參考下面的鏈接Setting up a Windows Host

https://github.com/ansible/ansible/blob/devel/examples/scripts/upgrade_to_ps3.ps1
https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1

Setting up a Windows Host
http://docs.ansible.com/ansible/latest/user_guide/windows_setup.html

.NET Framework 4.7.2/4.6.2
https://www.microsoft.com/net/download/dotnet-framework-runtime

Powershell 3.0
https://www.microsoft.com/en-us/download/details.aspx?id=34595

Powershell 5.1
https://www.microsoft.com/en-us/download/details.aspx?id=54616

我個(gè)人目前的建議是Win7/2008升級(jí)至Powershell 3.0,.Net Framework升級(jí)至4.6.2败晴,其他情況需要可以參考官方文檔后做決定

Ansible Windows Guides - http://docs.ansible.com/ansible/latest/user_guide/windows.html

客戶端

1.客戶端配置windows主機(jī),以管理員身份打開powershell, 并查看當(dāng)前ps版本
get-host
2.系統(tǒng)自帶的powershell版本是2.0浓冒,需要更新至powershell 3 以上版本
https://www.microsoft.com/net/download/dotnet-framework-runtime
https://www.microsoft.com/en-us/download/details.aspx?id=34595
3.安裝完重啟服務(wù)器查看powershell版本

.NET Framework 4.6以上版本無法建立到信任根頒發(fā)機(jī)構(gòu)的證書鏈
原因:系統(tǒng)缺少信任 Microsoft Root Certificate Authority 2011 根證書
下載:MicrosoftRootCertificateAuthority2011.cer
http://go.microsoft.com/fwlink/?LinkID=747875&clcid=0x409
運(yùn)行 certmgr.msc
導(dǎo)入證書到“受信任的根證書頒發(fā)機(jī)構(gòu)”

image
# 配置winrm
mkdir C:\temp
cd C:\temp
# 下載ConfigureRemotingForAnsible.ps1
https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1
# 開啟WinRM服務(wù)
powershell -ExecutionPolicy RemoteSigned .\ConfigureRemotingForAnsible.ps1 -SkipNetworkProfileCheck

服務(wù)端

# 服務(wù)端使用pip安裝pywinrm
pip install pywinrm

# 功能測(cè)試,配置ansible控制機(jī)
vi /etc/ansible/hosts

[windows]
192.168.67.139
[windows:vars]
ansible_user=Administrator
ansible_password=Admin123
ansible_port=5986
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore  

# 要注意的是端口方面ssl即https方式的使用5986尖坤,http使用5985

# 測(cè)試ping通信
ansible windows -m win_ping 
# 查看ip地址 
ansible windows -m win_command -a "ipconfig"

網(wǎng)盤下載

Windows作為客戶端所需的軟件包我上傳到百度網(wǎng)盤稳懒,.Net Framework安裝失敗提示證書錯(cuò)誤記得手動(dòng)導(dǎo)入MicrosoftRootCertificateAuthority2011.cer

https://pan.baidu.com/s/1JNV2pXjwUn14ojAtdEH_Sg

  1. 安裝 .Net Framework 4.6.2(NDP462-KB3151800-x86-x64-AllOS-ENU.exe)

  2. 升級(jí) Windows 7 SP1 和 Windows 2008 R2 SP1 的 PowerShell版本從2.0至3.0(Windows6.1-KB2506143-x64.msu)

  3. 執(zhí)行.\ConfigureRemotingForAnsible.ps1腳本開啟WinRM遠(yuǎn)程管理服務(wù)

    powershell -ExecutionPolicy RemoteSigned .\ConfigureRemotingForAnsible.ps1 -SkipNetworkProfileCheck

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市慢味,隨后出現(xiàn)的幾起案子场梆,更是在濱河造成了極大的恐慌,老刑警劉巖纯路,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件或油,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡驰唬,警方通過查閱死者的電腦和手機(jī)装哆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來定嗓,“玉大人蜕琴,你說我怎么就攤上這事∠Γ” “怎么了凌简?”我有些...
    開封第一講書人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)恃逻。 經(jīng)常有香客問我雏搂,道長(zhǎng),這世上最難降的妖魔是什么寇损? 我笑而不...
    開封第一講書人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任凸郑,我火速辦了婚禮,結(jié)果婚禮上矛市,老公的妹妹穿的比我還像新娘芙沥。我一直安慰自己,他們只是感情好浊吏,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開白布而昨。 她就那樣靜靜地躺著,像睡著了一般找田。 火紅的嫁衣襯著肌膚如雪歌憨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評(píng)論 1 290
  • 那天墩衙,我揣著相機(jī)與錄音务嫡,去河邊找鬼甲抖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛心铃,可吹牛的內(nèi)容都是我干的准谚。 我是一名探鬼主播,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼于个,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼氛魁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起厅篓,我...
    開封第一講書人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤秀存,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后羽氮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體或链,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年档押,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了澳盐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡令宿,死狀恐怖叼耙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情粒没,我是刑警寧澤筛婉,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站癞松,受9級(jí)特大地震影響爽撒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜响蓉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一硕勿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧枫甲,春花似錦源武、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至举畸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間凳枝,已是汗流浹背抄沮。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工跋核, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叛买。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓砂代,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親率挣。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刻伊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容