Назад | Перейти на главную страницу

Изменение разрешений раздела реестра из Chef

Я пытаюсь автоматизировать установку ведомого устройства Jenkins Windows, и мне нужно изменить владельца и разрешения некоторых ключей, чтобы разрешить доступ для чтения / записи к определенным ключам для администратора. Видеть Документы Дженкинса для подробностей.

Я нашел registry_key ресурс, но здесь не упоминается, как настроить фактические разрешения ключей реестра. Мне не нужно создавать / читать / обновлять или удалять ключи - просто настройте разрешения.

Есть ли способ сделать это из Chef? Или, если нет, есть ли способ сделать это с помощью сценария Powershell?

Я обрисую целесообразное решение, чтобы получить некоторое закрытие здесь, но в идеале его нужно реорганизовать, чтобы использовать Ресурс Chef DSC так как это может управлять более эзотерическими функциями Windows. Благодаря @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

это для установки Подчиненный Windows Jenkins записи реестра, позволяющие удаленную установку и управление подчиненной службой Jenkins.