2016-08-20 254 views
2

每次我嘗試運行的劇本來自動的Windows Server一些設施連接到Windows實例,我的Windows遠程主機似乎可達無法使用Ansible劇本

在這裏,我嘗試安裝IIS服務器和我劇本看起來是這樣的:

--- 
- hosts : windows 
    tasks : 
- name : Install Microsoft IIS 
    win_feature : 
    name : Web-Server 
    state : present 

而且錯誤是:

fatal: [ec2-54-197-197-91.compute-1.amazonaws.com]: UNREACHABLE! => { 
"changed": false, 
"msg": "ssl: HTTPSConnectionPool(host='ec2-54-197-197-91.compute-1.amazonaws.com', port=5986): Max retries exceeded with url: /wsman (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x1b11310>, 'Connection to ec2-54-197-197-91.compute-1.amazonaws.com timed out. (connect timeout=30)'))", 
"unreachable": true 
} 

但是,現在我才知道爲了運行Windows的劇本,我需要在我的控制節點上安裝winrm

我也做了以下內容:

pip install "pywinrm>=0.1.1" 

我已經加入Windows實例的公網IP和我hosts文件樣子:

[local] 
127.0.0.1 

[aws] 
ec2-54-152-85-197.compute-1.amazonaws.com 

[windows] 
ec2-54-197-197-91.compute-1.amazonaws.com 

然後,我創建了一個目錄「 group_vars「 in /etc/ansible,並且其中文件windows.yml其中讀取:

ansible_user: Administrator 
ansible_password: SecretPasswordGoesHere 
ansible_port: 5986 
ansible_connection: winrm 
ansible_winrm_server_cert_validation: ignore 

請讓我知道我要去哪裏錯了。

回答

3

(最有可能的,因爲你沒有提到它)

您需要在您的Windows實例配置在PowerShell中遠程命令(如Windows system prep部分所述)。執行以下(具有管理員權限):

iwr https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1 -UseBasicParsing | iex 

之前,根據您的設置,您可能還需要啓用PowerShell執行策略,網絡接口設置爲專用網絡(介意低於InterfaceAlias值)並啓用PowerShell遠程處理。

Set-ExecutionPolicy Unrestricted -Force 
Set-NetConnectionProfile -InterfaceAlias Ethernet0 -NetworkCategory Private 
Enable-PSRemoting 
+0

@prudhvi在你想連接的Windows機器上。通過在PowerShell窗口中鍵入它們來執行PowerShell命令。 – techraf

+0

當我輸入「Set-NetConnectionProfile -InterfaceAlias Ethernet0-NetworkCategory Private」命令....我得到以下錯誤:Set-NetConnectionProfile:沒有MSFT_NetConnectionProfile對象屬性'InterfaceAlias'找到等於'Ethernet0'。驗證該屬性的值並重試。 + FullyQualifiedErrorId:CmdletizationQuery_NotFound_InterfaceAlias,Set-NetConnectionProfile – prudhvi

+0

請在運行命令之前閱讀並嘗試理解我的答案。 – techraf