ansible.windows.win_regedit – Add, change, or remove registry keys and values
Note
This plugin is part of the ansible.windows collection (version 1.3.0).
To install it use: ansible-galaxy collection install ansible.windows.
To use it in a playbook, specify: ansible.windows.win_regedit.
Synopsis
- Add, modify or remove registry keys and values.
- More information about the windows registry from Wikipedia https://en.wikipedia.org/wiki/Windows_Registry.
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| data  raw  | Value of the registry entry  nameinpath.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.exeand 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, thehex: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  boolean  | 
 | When  stateis 'absent' then this will delete the entire key.If  nothen it will only clear out the '(Default)' property for that key. | 
| hive  path  | A path to a hive key like C:\Users\Default\NTUSER.DAT to load in the registry. This hive is loaded under the HKLM:\ANSIBLE key which can then be used in name like any other path. This can be used to load the default user profile registry hive or any other hive saved as a file. Using this function requires the user to have the  SeRestorePrivilegeandSeBackupPrivilegeprivileges enabled. | |
| name  string  | Name of the registry entry in the above  pathparameters.If not provided, or empty then the '(Default)' property for the key will be used. aliases: entry, value | |
| path  string / required  | Name of the registry path. Should be in one of the following registry hives: HKCC, HKCR, HKCU, HKLM, HKU. aliases: key | |
| state  string  | 
 | The state of the registry entry. | 
| type  string  | 
 | The registry value data type. aliases: datatype | 
Notes
Note
- Check-mode -C/--checkand diff output-D/--diffare supported, so that you can test every change against the active configuration before applying changes.
- Beware that some registry hives (HKEY_USERSin particular) do not allow to create new registry paths in the root folder.
See Also
See also
- ansible.windows.win_reg_stat
- 
The official documentation on the ansible.windows.win_reg_stat module. 
- ansible.windows.win_regmerge
- 
The official documentation on the ansible.windows.win_regmerge module. 
Examples
- name: Create registry path MyCompany
  ansible.windows.win_regedit:
    path: HKCU:\Software\MyCompany
- name: Add or update registry path MyCompany, with entry 'hello', and containing 'world'
  ansible.windows.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
  ansible.windows.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
  ansible.windows.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
  ansible.windows.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
  ansible.windows.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'
  ansible.windows.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'
  ansible.windows.win_regedit:
    path: HKCU:\Software\MyCompany
    name: hello
    data: ['hello', 'world']
    type: multistring
- name: Disable keyboard layout hotkey for all users (changes existing)
  ansible.windows.win_regedit:
    path: HKU:\.DEFAULT\Keyboard Layout\Toggle
    name: Layout Hotkey
    data: 3
    type: dword
- name: Disable language hotkey for current users (adds new)
  ansible.windows.win_regedit:
    path: HKCU:\Keyboard Layout\Toggle
    name: Language Hotkey
    data: 3
    type: dword
- name: Remove registry path MyCompany (including all entries it contains)
  ansible.windows.win_regedit:
    path: HKCU:\Software\MyCompany
    state: absent
    delete_key: yes
- name: Clear the existing (Default) entry at path MyCompany
  ansible.windows.win_regedit:
    path: HKCU:\Software\MyCompany
    state: absent
    delete_key: no
- name: Remove entry 'hello' from registry path MyCompany
  ansible.windows.win_regedit:
    path: HKCU:\Software\MyCompany
    name: hello
    state: absent
- name: Change default mouse trailing settings for new users
  ansible.windows.win_regedit:
    path: HKLM:\ANSIBLE\Control Panel\Mouse
    name: MouseTrails
    data: 10
    type: str
    state: present
    hive: C:\Users\Default\NTUSER.dat
   Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| data_changed  boolean  | success | Whether this invocation changed the data in the registry value. | 
| data_type_changed  boolean  | success | Whether this invocation changed the datatype of the registry value. Sample: True | 
Authors
- Adam Keech (@smadam813)
- Josh Ludwig (@joshludwig)
- Jordan Borean (@jborean93)
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.10/collections/ansible/windows/win_regedit_module.html