win_regedit - Add, change, or remove registry keys and values

New in version 2.0.

Synopsis

Options

parameter required default choices comments
data
no
Value of the registry entry name in path.
If not specified then the value for the property will be null for the corresponding type.
Binary and None data should be expressed in a yaml byte array or as comma separated hex values.
An easy way to generate this is to run regedit.exe and use the export option to save the registry values to a file.
In the exported file, binary value will look like hex:be,ef,be,ef, the hex: prefix is optional.
DWORD and QWORD values should either be represented as a decimal number or a hex value.
Multistring values should be passed in as a list.
See the examples for more details on how to format this data.
delete_key
(added in 2.4)
no yes
  • yes
  • no
When state is 'absent' then this will delete the entire key.
If this is False then it will only clear out the '(Default)' property for that key.
name
no
Name of the registry entry in the above path parameters.
If not provided, or empty then the '(Default)' property for the key will be used.
aliases: entry
path
yes
Name of the registry path.
Should be in one of the following registry hives: HKCC, HKCR, HKCU, HKLM, HKU.
aliases: key
state
no present
  • present
  • absent
The state of the registry entry.
type
no string
  • binary
  • dword
  • expandstring
  • multistring
  • string
  • qword
The registry value data type.
aliases: datatype

Examples

- name: Create registry path MyCompany
  win_regedit:
    path: HKCU:\Software\MyCompany

- name: Add or update registry path MyCompany, with entry 'hello', and containing 'world'
  win_regedit:
    path: HKCU:\Software\MyCompany
    name: hello
    data: world

- name: Add or update registry path MyCompany, with dword entry 'hello', and containing 1337 as the decimal value
  win_regedit:
    path: HKCU:\Software\MyCompany
    name: hello
    data: 1337
    type: dword

- name: Add or update registry path MyCompany, with dword entry 'hello', and containing 0xff2500ae as the hex value
  win_regedit:
    path: HKCU:\Software\MyCompany
    name: hello
    data: 0xff2500ae
    type: dword

- name: Add or update registry path MyCompany, with binary entry 'hello', and containing binary data in hex-string format
  win_regedit:
    path: HKCU:\Software\MyCompany
    name: hello
    data: hex:be,ef,be,ef,be,ef,be,ef,be,ef
    type: binary

- name: Add or update registry path MyCompany, with binary entry 'hello', and containing binary data in yaml format
  win_regedit:
    path: HKCU:\Software\MyCompany
    name: hello
    data: [0xbe,0xef,0xbe,0xef,0xbe,0xef,0xbe,0xef,0xbe,0xef]
    type: binary

- name: Add or update registry path MyCompany, with expand string entry 'hello'
  win_regedit:
    path: HKCU:\Software\MyCompany
    name: hello
    data: '%appdata%\local'
    type: expandstring

- name: Add or update registry path MyCompany, with multi string entry 'hello'
  win_regedit:
    path: HKCU:\Software\MyCompany
    name: hello
    data: ['hello', 'world']
    type: multistring

- name: Disable keyboard layout hotkey for all users (changes existing)
  win_regedit:
    path: HKU:\.DEFAULT\Keyboard Layout\Toggle
    name: Layout Hotkey
    data: 3
    type: dword

- name: Disable language hotkey for current users (adds new)
  win_regedit:
    path: HKCU:\Keyboard Layout\Toggle
    name: Language Hotkey
    data: 3
    type: dword

- name: Remove registry path MyCompany (including all entries it contains)
  win_regedit:
    path: HKCU:\Software\MyCompany
    state: absent
    delete_key: yes

- name: Clear the existing (Default) entry at path MyCompany
  win_regedit:
    path: HKCU:\Software\MyCompany
    state: absent
    delete_key: no

- name: Remove entry 'hello' from registry path MyCompany
  win_regedit:
    path: HKCU:\Software\MyCompany
    name: hello
    state: absent

Return Values

Common return values are documented here Return Values, the following are the fields unique to this module:

name description returned type sample
data_changed
whether this invocation changed the data in the registry value
success boolean False
data_type_changed
whether this invocation changed the datatype of the registry value
success boolean True

Notes

Note

  • Check-mode -C/--check and diff output -D/--diff are supported, so that you can test every change against the active configuration before applying changes.
  • Beware that some registry hives (HKEY_USERS in particular) do not allow to create new registry paths.
  • Since ansible 2.4, when checking if a string registry value has changed, a case-sensitive test is used. Previously the test was case-insensitive.

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance Info

For more information about Red Hat’s this support of this module, please refer to this knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/win_regedit_module.html