使用puppet exec检测是否已安装Windows服务

前端之家收集整理的这篇文章主要介绍了使用puppet exec检测是否已安装Windows服务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有下面的exec资源,用于安装窗口服务.

我希望它只在未安装窗口服务时执行.所以我使用onlyif命令,但命令不起作用.它一直在运行安装:

exec { "install-${target_path}/${binary_name}":
    command   => "${installUtil_filepath} /i /servicename=\"${service_name}\" /displayname=\"${display_name}\" /description=\"${description}\" \"${target_path}\\${binary_name}\"",onlyif    => "if((Get-Service \"${service_name}\" -ErrorAction SilentContinue).DisplayName -eq  ${display_name}) { exit 1 } else { exit 0 }",logoutput => true,provider => powershell,}

这很有效

if(Get-Service \"${service_name}\") { exit 1 } else { exit 0 }

解决方法

为什么首先使用服务名称检索服务,然后比较显示名称?你可以省略那个检查……

此外,您是否要在安装服务时退出0,否则使用1?

试试这个:

onlyif    => "if(Get-Service ${service_name}) { exit 0 } else { exit 1 }",

猜你在找的Windows相关文章