我试图自动化Jenkins Windows从站安装,我需要更改所有者和一些密钥的权限,以允许pipe理员用户对某些密钥进行读/写访问。 有关详细信息,请参阅Jenkins文档 。
我find了registry_key资源,但没有提到如何调整registry项的实际权限。 我不需要创build/读取/更新或删除键 – 只需调整权限。
厨师有没有办法做到这一点? 或者,如果没有,有没有办法通过Powershell脚本来做到这一点?
为了在这里得到一些结论,我将简要介绍一下权宜的解决scheme,但理想情况下需要重构使用Chef DSC资源,因为这可以pipe理更深奥的Windowsfunction。 感谢@coderanger的提示。
我最终做的是在执行块中使用SetACL实用程序,如下所示
设置入口所有者
execute 'update registry entry owner' do command 'c:/path/to/SetACL.exe -on "HKEY_CLASSES_ROOT\CLSID\{76A64158-CB41-11D1-8B02-00600806D9B6}" -ot reg -actn setowner -ownr n:Administrators' end
设置入口权限
execute 'update registry permissions' do command 'c:/path/to/SetACL.exe -on "HKEY_CLASSES_ROOT\CLSID\{76A64158-CB41-11D1-8B02-00600806D9B6}" -ot reg -actn ace -ace "n:Administrators;p:full' end
这是为了设置Jenkins Windows Slaveregistry项以允许远程安装和pipe理Jenkins从服务。