我有以下的chef / powershell代码:
* powershell_script[Configure Registry Keys] action run (skipped due to not_if)
然而,当我运行它时,它无法运行:
{{1}}
那是因为其中一个键存在但其他两个键不存在。
我想要发生的是,如果其中任何一个不存在,就会创建密钥。似乎有多个not_ifs,如果它们中的任何一个导致$ true,则跳过它。
我想要的是,如果他们中的任何一个返回$ false然后执行。
我试图将not_if切换为only_if,但似乎有相同的问题(只是反过来)
那么如何将多个not_if或only_if语句连接在一起,以便它们都必须返回$ false(或者所有$ true - 取决于是否使用了only_if)
希望这是有道理的,但如果没有,请告诉我:)。
答案 0 :(得分:2)
以下是对任何不存在的测试:
not_if "$Name=(Get-ItemProperty 'HKLM:\\Software\\Microsoft\\Microsoft SQL Server\\MSSQL14.MSSQLSERVER\\MSSQLServer').PSObject.Properties.Name; $Name -contains 'DefaultData' -and $Name -contains 'DefaultLog' -and $Name -contains 'BackupDirectory'"