我正在编写 chef cookbook 来添加/启用一些 windows 功能。为了启用,我使用了powershell_script
资源,下面是 powershell 脚本。
Import-Module Servermanager
Add-WindowsFeature Print-LPD-Service
由于某种原因,在 chef-client 运行期间未启用窗口功能。但配方运行成功。
当我在 powershell shell 中手动执行命令时,它运行正常。
我不知道要启用什么安全设置才能满足此要求。那么,我们如何使用 chef 启用 Windows 功能。任何指示都会有所帮助。
答案1
使用windows_feature
来自食谱的资源windows
而不是powershell_script
资源来启用功能。
windows_feature 'Printing-LPDPrintService' do
action :install
not_if { Registry.key_exists?('HKLM\System\CurrentControlSet\services\LPDSVC') }
end
答案2
如果它通过交互式 shell 运行,那么您可能不被允许在该机器上运行脚本。
您可能需要将其放在脚本的开头:
Set-ExecutionPolicy Unrestricted -Confirm:$false
该脚本需要以管理员身份运行。