背景 Windows 機能をインストールするクックブックを書きました。一部の機能は、親機能に依存しています。親機能には、機能のインストールに必要なソース ファイルがない場合があります。
レシピ内で、only_if を使用して Powershell コマンドを呼び出し、ソース ファイルが存在するかどうかを判断します。
(Get-WindowsFeature | Where Name -eq NET-Framework-Core | Select InstallState).InstallState -eq 'Removed'
インストール状態が削除済みの場合、依存する機能には必要なソース ファイルがなく、それらを提供しないとインストールできません。そのため、私のクックブックでソース ファイルが見つからないと判断された場合、機能のインストールは試行されません。ただし、ソース ファイルが存在する場合、クックブックは機能をインストールします。この部分は完璧に機能しています。
問題 Windows の正しい機能がインストールされていることを確認するための InSpec テストがあります。Powershell コマンドの結果を使用して、特定のテストを実行またはスキップしたいと考えています。上記の Powershell コマンドを呼び出して結果を取得し、InSpec 内でテストを実行またはスキップする方法がわかりません。