win_regedit – Add, change, or remove registry keys and values¶
New in version 2.0.
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
-
|
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
boolean
added in 2.4 |
|
When
state is 'absent' then this will delete the entire key.If
no then it will only clear out the '(Default)' property for that key. |
hive
path
added in 2.5 |
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
SeRestorePrivilege and SeBackupPrivilege privileges enabled. |
|
name
-
|
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
-
/ required
|
Name of the registry path.
Should be in one of the following registry hives: HKCC, HKCR, HKCU, HKLM, HKU.
aliases: key |
|
state
-
|
|
The state of the registry entry.
|
type
-
|
|
The registry value data type.
aliases: datatype |
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 in the root folder. - 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.
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
- name: Change default mouse trailing settings for new users
win_regedit:
path: HKLM:\ANSIBLE\Control Panel\Mouse
name: MouseTrails
data: 10
type: string
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
|
Status¶
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Core Team. [core]
Red Hat Support¶
More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.
Authors¶
- Adam Keech (@smadam813)
- Josh Ludwig (@joshludwig)
- Jordan Borean (@jborean93)
Hint
If you notice any issues in this documentation you can edit this document to improve it.