这是要求: 我正在尝试使用厨师从远程计算机安装Windows服务。该脚本应验证是否已安装该服务。如果安装然后删除并重新安装它。因为我是厨师的新手,我很难找到解决方案。
这就是我的尝试:
execute 'Installing Service TestService' do
command "sc create \"TestService\" binPath= D:/Deploy/TestService.exe "
action :run
end
它安装了服务,但我无法实现验证/检查是否存在并重新安装。即使我不知道上面的脚本是否是标准脚本。有人可以帮忙吗? 如果有人可以为windows dotNet开发人员推荐初级厨师教程,那也很棒吗?
答案 0 :(得分:2)
尝试删除已存在powershell_script
块的服务,并通知execute
块安装/重新安装该服务。这样安装只会在删除服务后触发。
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