如何使用 Chef 脚本安装 windows 服务

how to install windows service using Chef Script

这是要求: 我正在尝试使用 Chef 从远程计算机安装 windows 服务。该脚本应验证该服务是否已安装。如果已安装,请删除并重新安装 it.Since 我是厨师新手,很难找到解决方案。

这是我试过的:

execute 'Installing Service TestService' do
        command "sc create \"TestService\" binPath= D:/Deploy/TestService.exe "
        action :run
end

它安装了该服务,但我无法实施 validation/check 如果它存在并重新安装。连我都不知道上面的剧本是不是标准的。有人可以在这里帮忙吗? 另外,如果有人可以为 windows dotNet 开发人员推荐初学者级别的厨师教程,那就太好了?

如果该服务已存在 powershell_script 块,请尝试删除该服务,并通知 execute 块以 install/reinstall 该服务。这样安装只会在删除服务后触发。

powershell_script 'delete_if_exist' do
  code <<-EOH
     $Service = Get-WmiObject -Class Win32_Service -Filter "Name='TestService'"
     if ($Service) {
        $Service.Delete() 
     }
  EOH
  notifies :run, 'execute[Installing Service TestService]', :immediately
end

execute 'Installing Service TestService' do
  command "sc create \"TestService\" binPath= D:/Deploy/TestService.exe "
  action :nothing
end