2017-02-23 150 views

回答

0

您可以檢查,如果有

::Win32::Service.exists?('<service_name>') 

安裝了Windows服務,但如果你使用package資源來安裝的服務,最有可能你只需要爲提供一個合適的名稱package res烏爾斯河。您在中看到的那個控制面板\所有控制面板項目\程序和功能。廚師會檢查它已安裝的軟件包,並不會再嘗試安裝它。

0

廚師是由爲冪等,你應該做的是:

package 'VigilEntAgent' do 
    source 'xxx' 
    action :install 
end 

windows_service "VigilEntAgent" 
    action :start 
end 

的服務名稱必須匹配在Windows服務管理服務短名稱,你將與NET START使用一個從啓動命令行IIRC。

windows_service資源可用,因爲廚師12

資源的文件是在這裏:https://docs.chef.io/resources.html

+0

不幸的是,這不是Windows服務的往往是如何工作的,特別是'status_command'。 Windows上的服務比Unix平臺上的服務要複雜得多。 – coderanger

+0

我很確定我過去做過(對於基於nssm的服務),但也許這仍然是由一箇舊客戶端處理,幷包含一個醜陋的黑客。 – Tensibai