• <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年11月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789


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

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            相冊

            Awesome

            Blog

            Book

            GitHub

            Link

            搜索

            •  

            積分與排名

            • 積分 - 216933
            • 排名 - 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、    動態目錄的支持

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

            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

            安裝的時候執行如下指令即可:

            pip install kerberos

             

             

            3.3 配置kerberos

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

            找到如下開頭的節:

            [realms]

             

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

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

             

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

            [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的服務器名稱不一致,檢查動態目錄中的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支持的模塊在以下網址中可以找到:

            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 思月行云 閱讀(795) 評論(1)  編輯 收藏 引用 所屬分類: 服務器\Ops

            FeedBack:
            # re: Ansible 控制 Windows 2017-11-10 10:36 思月行云
            伊人久久大香线蕉AV一区二区| 一本一道久久a久久精品综合| 亚洲日韩中文无码久久| 亚洲国产精品成人久久| 久久香蕉国产线看观看99| 久久精品国产一区二区三区| 国产激情久久久久久熟女老人| 国内精品人妻无码久久久影院| 亚洲国产精品久久| 伊人色综合九久久天天蜜桃 | 天天做夜夜做久久做狠狠| 综合久久国产九一剧情麻豆 | 久久久久亚洲精品天堂久久久久久| 性高朝久久久久久久久久| 99久久无码一区人妻a黑| 久久精品无码一区二区三区日韩| 国产精品99久久久久久宅男小说| 99re久久精品国产首页2020| 中文字幕无码av激情不卡久久| 国产精品18久久久久久vr | 国产成人精品综合久久久| 色婷婷久久综合中文久久蜜桃av | 亚洲精品无码久久久久去q| 伊人久久大香线蕉影院95| 亚洲AV日韩精品久久久久久| 日本精品久久久久久久久免费| 99久久er这里只有精品18| 精品综合久久久久久98| 中文字幕无码久久久| 久久无码一区二区三区少妇| 草草久久久无码国产专区| 欧美一区二区三区久久综| 亚洲av日韩精品久久久久久a| 久久综合久久美利坚合众国| 伊人 久久 精品| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲精品久久久www| 久久精品国产72国产精福利| 国产精品欧美久久久久无广告| 精品久久久久久中文字幕人妻最新| 狠狠色噜噜色狠狠狠综合久久|