Ansible on Windows:如何更改注册表所有权

Ansible on Windows:如何更改注册表所有权,ansible,windows-server-2012-r2,Ansible,Windows Server 2012 R2,Ansible版本:Ansible 2.9.2 我正在尝试在Windows Server 2012 R2上运行剧本,它已配置WINRM。 我能够在目录上运行win_acl和win_owner模块,但是,在使用Ansible更改注册表所有权时,我遇到了问题。 注意:我可以通过RDP将相同的内容手动更改到本文提到的服务器中 我无法用纯ansible做类似的事情。所以我使用了一个名为setacl.exe的外部工具 下面的示例是在生产中使用的极端方法。但它会显示你的选择 - name: Cop

Ansible版本:Ansible 2.9.2 我正在尝试在Windows Server 2012 R2上运行剧本,它已配置WINRM。 我能够在目录上运行win_acl和win_owner模块,但是,在使用Ansible更改注册表所有权时,我遇到了问题。 注意:我可以通过RDP将相同的内容手动更改到本文提到的服务器中


我无法用纯ansible做类似的事情。所以我使用了一个名为setacl.exe的外部工具

下面的示例是在生产中使用的极端方法。但它会显示你的选择

    - name: Copy setacl.exe to system32
      win_copy:
        src: files/setacl.exe
        dest: C:\windows\system32\setacl.exe
    - name: Change the owner for a part of the registry
      tags: setacl
      raw: setacl.exe -on "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum" -ot reg -rec yes -actn setowner -ownr "n:Administrator"
    - name: Add administrator to reg
      tags: setacl
      raw: setacl.exe -on "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum" -ot reg -rec yes -actn ace -ace "n:Adminiistrator;p:full"
    Error: {"changed": false, "msg": "an exception occurred when adding the specified rule - Requested registry access is not allowed."}
    - name: Copy setacl.exe to system32
      win_copy:
        src: files/setacl.exe
        dest: C:\windows\system32\setacl.exe
    - name: Change the owner for a part of the registry
      tags: setacl
      raw: setacl.exe -on "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum" -ot reg -rec yes -actn setowner -ownr "n:Administrator"
    - name: Add administrator to reg
      tags: setacl
      raw: setacl.exe -on "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum" -ot reg -rec yes -actn ace -ace "n:Adminiistrator;p:full"