如何使用 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
这是要求: 我正在尝试使用 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