背景 我写了一本安装 Windows 功能的食谱。某些功能依赖于父功能。父功能可能没有安装该功能所需的源文件。
在我的配方中,我使用 only_if 调用 Powershell 命令来确定源文件是否存在。
(Get-WindowsFeature | Where Name -eq NET-Framework-Core | Select InstallState).InstallState -eq 'Removed'
如果 Install State 等于 Removed,则依赖功能没有所需的源文件,并且如果不提供它们就无法安装。因此,如果我的说明书确定源文件丢失,它不会尝试安装这些功能。但是,如果源文件确实存在,则说明书将安装这些功能。这部分工作完美。
问题 我有 InSpec 测试来验证是否安装了正确的 Windows 功能。我想使用 Powershell 命令的结果运行或跳过特定测试。我想不出一种方法来调用上面的 Powershell 命令、获取结果并运行或跳过 InSpec 中的测试。