一部のWindows機能を追加/有効化するためにchefクックブックを作成しています。有効にするために、powershell_script
リソースを使用しています。以下は、PowerShellスクリプトです。
Import-Module Servermanager
Add-WindowsFeature Print-LPD-Service
何らかの理由で、chef-clientの実行中にWindows機能が有効にならない。しかし、レシピは正常に実行されました。
PowerShellシェルでコマンドを手動で実行すると、正常に機能します。
この要件を達成するために有効にするセキュリティ設定を認識していません。では、chefを使用してWindows機能を有効にする方法を説明します。どんなポインタも役に立ちます。
機能を有効にするために、windows_feature
リソースの代わりにwindows
クックブックのpowershell_script
リソースを使用しました。
windows_feature 'Printing-LPDPrintService' do
action :install
not_if { Registry.key_exists?('HKLM\System\CurrentControlSet\services\LPDSVC') }
end
インタラクティブシェルを介して実行された場合、そのマシンでスクリプトを実行できない可能性があります。
スクリプトの先頭にこれを置く必要があるかもしれません:
Set-ExecutionPolicy Unrestricted -Confirm:$false
スクリプトは管理者として実行する必要があります。