web-dev-qa-db-ja.com

chefを使用したWindows機能の追加/有効化

一部のWindows機能を追加/有効化するためにchefクックブックを作成しています。有効にするために、powershell_scriptリソースを使用しています。以下は、PowerShellスクリプトです。

Import-Module Servermanager
Add-WindowsFeature Print-LPD-Service

何らかの理由で、chef-clientの実行中にWindows機能が有効にならない。しかし、レシピは正常に実行されました。

PowerShellシェルでコマンドを手動で実行すると、正常に機能します。

この要件を達成するために有効にするセキュリティ設定を認識していません。では、chefを使用してWindows機能を有効にする方法を説明します。どんなポインタも役に立ちます。

1
vareda

機能を有効にするために、windows_featureリソースの代わりにwindowsクックブックのpowershell_scriptリソースを使用しました。

windows_feature 'Printing-LPDPrintService' do
  action :install
  not_if  { Registry.key_exists?('HKLM\System\CurrentControlSet\services\LPDSVC') }
end
2
vareda

インタラクティブシェルを介して実行された場合、そのマシンでスクリプトを実行できない可能性があります。

スクリプトの先頭にこれを置く必要があるかもしれません:

Set-ExecutionPolicy Unrestricted -Confirm:$false

スクリプトは管理者として実行する必要があります。

0
Vasili Syrakis