• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Fork me on GitHub
            隨筆 - 215  文章 - 13  trackbacks - 0
            <2017年6月>
            28293031123
            45678910
            11121314151617
            18192021222324
            2526272829301
            2345678


            專注即時通訊及網(wǎng)游服務端編程
            ------------------------------------
            Openresty 官方模塊
            Openresty 標準模塊(Opm)
            Openresty 三方模塊
            ------------------------------------
            本博收藏大部分文章為轉載,并在文章開頭給出了原文出處,如有再轉,敬請保留相關信息,這是大家對原創(chuàng)作者勞動成果的自覺尊重!!如為您帶來不便,請于本博下留言,謝謝配合。

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            相冊

            Awesome

            Blog

            Book

            GitHub

            Link

            搜索

            •  

            積分與排名

            • 積分 - 215445
            • 排名 - 118

            最新評論

            閱讀排行榜

            http://blog.csdn.net/kellyseeme/article/details/50636813

            1、    Windows下如何工作

            在ansible控制linux的時候,用的是ssh的方式,在windows中,使用的是power shell,在客戶端機器上也是不用裝任何客戶端的。

            在控制windows機器的時候,使用的模塊為“winrm“。

            2、    在控制機上安裝

            在linux控制機器上安裝模塊winrm:

            pip install "pywinrm>=0.1.1"

             

            3、    動態(tài)目錄的支持

            如果想連接動態(tài)目錄下的domain賬戶,那么必須安裝python-kerberos模塊在控制機上,并且需要安裝MIT krb5庫。還需要在動態(tài)目錄中配置正確的賬戶。

            3.1 安裝python-kerberos的依賴

            # Via Yum
            yum -y install python-devel krb5-devel krb5-libs krb5-workstation
             
            # Via Apt (Ubuntu)
            sudo apt-get install python-dev libkrb5-dev
             
            # Via Portage (Gentoo)
            emerge -av app-crypt/mit-krb5
            emerge -av dev-python/setuptools
             
            # Via pkg (FreeBSD)
            sudo pkg install security/krb5
             
            # Via OpenCSW (Solaris)
            pkgadd -d http://get.opencsw.org/now
            /opt/csw/bin/pkgutil -U
            /opt/csw/bin/pkgutil -y -i libkrb5_3
             
            # Via Pacman (Arch Linux)
            pacman -S krb5

             

             

            3.2 安裝python-kerberos

            安裝的時候執(zhí)行如下指令即可:

            pip install kerberos

             

             

            3.3 配置kerberos

            編輯配置文件/etc/krb5.conf,在其中添加如下的信息,在每個想連接的domain中。

            找到如下開頭的節(jié):

            [realms]

             

            添加domain的全稱,并且添加主要和次要的動態(tài)目錄域的全名稱,如下例子:

            [realms]
             
             MY.DOMAIN.COM = {
             kdc = domain-controller1.my.domain.com
             kdc = domain-controller2.my.domain.com
             }

             

            并且在【domain_realm】節(jié)中添加每個你想連接的域:

            [domain_realm]
                .my.domain.com = MY.DOMAIN.COM

             

            3.4 測試kerberos連接

            如果安裝了krb5-workstation(yum)或者krb5-user(apt_get),那么可以用如下的命令測試是否被域控制器授權:

            kinit user@MY.DOMAIN.COM

             

            注意域的部分必須是全稱,并且必須全部為大寫。

            查看獲得的tickets,可以使用命令如下:

            klist

             

            3.5 解決kerberos連接問題

            如果使用kerberos不能進行連接,那么檢查下列問題:

             

            確保正向和反向DNS在域中能正常解析,在做這個解析的時候,首先ping服務器的名稱,然后nslookup服務器的ip地址,會返回服務器的名稱

            如果在返回的服務器名稱和ping的服務器名稱不一致,檢查動態(tài)目錄中的DNSScavenging 是開啟的,并且DNS和DHCP是相互更新的;

             

            確保ansible控制機在domain中配置了賬戶屬性。

            檢查ansible控制機的在域控制器中是時鐘異步的,kerberos是對時間敏感的,一點時間的偏差會導致tickets失效

             

            確保用的是域全名稱,可以使用下面的命令進行檢查:

            kinit -C user@MY.DOMAIN.COM
            klist

             

            當獲取到不同的域名稱的時候,必須更新配置文件krb5.conf,在其中使用域的全名稱。

            4、    inventory

            ansible對windows的支持依賴于幾個常用的變量來表示用戶名,密碼,連接類型(windows),如下所示:

            [windows]
            winserver1.example.com
            winserver2.example.com

             

             

            在group_vars/windows.yml中,定義以下inventory變量:

            # it is suggested that these be encrypted with ansible-vault:
            # ansible-vault edit group_vars/windows.yml
             
            ansible_user: Administrator
            ansible_password: SecretPasswordGoesHere
            ansible_port: 5986
            ansible_connection: winrm
            # The following is necessary for Python 2.7.9+ when using default WinRM self-signed certificates:
            ansible_winrm_server_cert_validation: ignore

             

            5、    關于powershell版本

            Powershell為3.0版本或者更高,只有windows7 sp1,windows server 2008 sp1,和以后的版本支持。

            6、    哪些模塊是可用的

            Windows支持的模塊在以下網(wǎng)址中可以找到:

            http://docs.ansible.com/ansible/list_of_windows_modules.html

            可以使用script模塊來運行powershell腳本,也可以在playbook中使用,如下:

            - hosts: windows
              tasks:
                - script: foo.ps1 --argument --other-argument

             

            注意有的模塊并不以win開頭,如下:

            “slurp”, “raw”, and “setup” 

            7、    獲得windows的fact

            ansible winhost.example.com -m setup

             

            8、    Windows的playbook例子

            下面例子表示推送和運行powershell腳本的例子:

            - name: test script module
              hosts: windows
              tasks:
                - name: run test script
                  script: files/test_script.ps1

             

             

            運行單個命令的時候,使用raw模塊,在linux中是使用command或者shell模塊:

            - name: test raw module
              hosts: windows
              tasks:
                - name: run ipconfig
                  raw: ipconfig
                  register: ipconfig
                - debug: var=ipconfig

             

            運行DOS命令的時候,可以使用CMD /C開頭,并且用雙引號進行包括,如下:

            - name: another raw module example
              hosts: windows
              tasks:
                 - name: Move file on remote Windows Server from one location to another
                   raw: CMD /C "MOVE /Y C:\teststuff\myfile.conf C:\builds\smtp.conf"

             

             

            最后一個例子用win_stat模塊測試文件是否存在,注意返回的日期和linux中稍有不同:

            - name: test stat module
              hosts: windows
              tasks:
                - name: test stat module on file
                  win_stat: path="C:/Windows/win.ini"
                  register: stat_file
             
                - debug: var=stat_file
             
                - name: check stat_file result
                  assert:
                      that:
                         - "stat_file.stat.exists"
                         - "notstat_file.stat.isdir"
                         - "stat_file.stat.size>0"
                         - "stat_file.stat.md5"

             

             

            posted on 2017-11-10 10:34 思月行云 閱讀(790) 評論(1)  編輯 收藏 引用 所屬分類: 服務器\Ops

            FeedBack:
            # re: Ansible 控制 Windows 2017-11-10 10:36 思月行云
            国内精品欧美久久精品| 午夜精品久久影院蜜桃| 国产V亚洲V天堂无码久久久| 久久国产精品久久久| 久久成人18免费网站| 狠狠综合久久AV一区二区三区 | 色综合合久久天天综合绕视看 | 精品久久久久国产免费| 蜜桃麻豆WWW久久囤产精品| 久久久久亚洲av无码专区| 欧美性猛交xxxx免费看久久久| 久久久亚洲欧洲日产国码aⅴ| 人妻精品久久久久中文字幕| 精品久久久久久无码专区不卡 | 亚洲国产精品无码久久九九| 国产精品岛国久久久久| 久久久久久久精品妇女99| 久久国产精品免费| 狠狠色丁香久久综合五月| 无码AV波多野结衣久久| 国产精品久久久久蜜芽| 久久亚洲国产成人影院网站| 中文字幕成人精品久久不卡| 久久人人爽人人爽人人AV| 国产99久久久国产精品小说| 久久婷婷色综合一区二区| 狠狠色综合网站久久久久久久| 精品久久久无码人妻中文字幕豆芽| 久久亚洲国产最新网站| 日韩欧美亚洲国产精品字幕久久久| 狠色狠色狠狠色综合久久| 99久久综合狠狠综合久久止| 伊人久久大香线焦AV综合影院| 久久经典免费视频| 麻豆精品久久久久久久99蜜桃| 香蕉99久久国产综合精品宅男自 | 久久妇女高潮几次MBA| 日韩中文久久| 亚洲午夜精品久久久久久浪潮| 久久亚洲AV永久无码精品| 婷婷久久综合|