2015-09-28 21 views
1

我想運行一個wrapper.exe存在於遠程的Windows Server 2012的計算機上的命令提示符下,如下所示:運行基於Windows使用ansible .exe文件

wrapper.exe -t wrapper.conf 

使用ansible我創建了一個劇本給ATLEAST嘗試沒有任何參數運行exe文件。我的劇本看起來如下:

--- 
- hosts: windows 
    tasks: 
    - name: Register as a service 
     raw: 'D:\builds\router\bin\wrapper.exe' 

但是我得到以下錯誤:

致命:[windows_ip]:失敗! => {「changed」:false,「failed」:true,「rc」:1,「stderr」:「#< CLIXML \ r \ nhttp://schemas.microsoft.com/powershell/2004/04 \」> D:_x0008_uilds:術語'D:_x0008_uilds'不被識別爲cmdlet的名稱,_x000D__x000A_function,腳本文件或可操作程序。檢查名稱的拼寫,或_x000D__x000A_如果包含路徑,請驗證路徑是否正確,然後重試._x000D__x000A_At行:1 char:1_x000D__x000A_ + D:_x0008_uilds_x000D__x000A_ + ~~~~~~~~ _x000D__x000A_ + CategoryInfo:ObjectNotFound: (D:_x0008_uilds:String)[],CommandNot _x000D__x000A_ FoundException_x000D__x000A_ + FullyQualifiedErrorId:CommandNotFoundException_x000D__x000A_ _x000D__x000A_outer_x0008_in \ wrapper.exe:模塊'outer_x0008_in'無法加載。有關_x000D__x000A_information的更多信息,請運行'Import-Module outer_x0008_in'._ x000D__x000A_At line:2 char:1_x000D__x000A_ + outer_x0008_in \ wrapper.exe_x000D__x000A_ + ~~~~~~~~~~~~~~~~~ _x000D__x000A_ + CategoryInfo: ObjectNotFound:(outer_x0008_in \ wrapper.exe:字符串)[] _x000D__x000A_,CommandNotFoundException_x000D__x000A_ + FullyQualifiedErrorId:CouldNotAutoLoadModule_x000D__x000A_ _x000D__x000A_」, 「標準輸出」: 「」, 「stdout_lines」:[]}

什麼是這裏的問題

回答

1

這是YAML相關,你需要把'\\'拿到\,所以在你的情況下,把它這樣,它應該工作:

--- 
- hosts: windows 
    tasks: 
     - name: Register as a service 
     raw: 'D:\\builds\\router\\bin\\wrapper.exe' 
1

或者您也可以使用正斜槓(Powershell瞭解它們) "D:/builds/router/bin/wrapper.exe"