ansible/lib/ansible/modules/windows/win_reg_stat.py
Jordan Borean 072fa54b50
win reg - Support special chars in path (#53305)
* win reg - Support special chars in path

* Added deprecation warning for path separators
2019-03-08 05:41:52 +10:00

121 lines
3.7 KiB
Python

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Copyright: (c) 2016, Ansible, inc
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
# this is a windows documentation stub. actual code lives in the .ps1
# file of the same name
ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'],
'supported_by': 'community'}
DOCUMENTATION = r'''
---
module: win_reg_stat
version_added: "2.3"
short_description: Get information about Windows registry keys
description:
- Like M(win_file), M(win_reg_stat) will return whether the key/property exists.
- It also returns the sub keys and properties of the key specified.
- If specifying a property name through I(property), it will return the information specific for that property.
options:
path:
description: The full registry key path including the hive to search for.
type: str
required: yes
aliases: [ key ]
name:
description:
- The registry property name to get information for, the return json will not include the sub_keys and properties entries for the I(key) specified.
- Set to an empty string to target the registry key's C((Default)) property value.
type: str
aliases: [ entry, value, property ]
notes:
- The C(properties) return value will contain an empty string key C("") that refers to the key's C(Default) value. If
the value has not been set then this key is not returned.
seealso:
- module: win_regedit
- module: win_regmerge
author:
- Jordan Borean (@jborean93)
'''
EXAMPLES = r'''
- name: Obtain information about a registry key using short form
win_reg_stat:
path: HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion
register: current_version
- name: Obtain information about a registry key property
win_reg_stat:
path: HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion
name: CommonFilesDir
register: common_files_dir
- name: Obtain the registry key's (Default) property
win_reg_stat:
path: HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion
name: ''
register: current_version_default
'''
RETURN = r'''
changed:
description: Whether anything was changed.
returned: always
type: bool
sample: true
exists:
description: States whether the registry key/property exists.
returned: success and path/property exists
type: bool
sample: true
properties:
description: A dictionary containing all the properties and their values in the registry key.
returned: success, path exists and property not specified
type: dict
sample: {
"" : {
"raw_value": "",
"type": "REG_SZ",
"value": ""
},
"binary_property" : {
"raw_value": ["0x01", "0x16"],
"type": "REG_BINARY",
"value": [1, 22]
},
"multi_string_property" : {
"raw_value": ["a", "b"],
"type": "REG_MULTI_SZ",
"value": ["a", "b"]
}
}
sub_keys:
description: A list of all the sub keys of the key specified.
returned: success, path exists and property not specified
type: list
sample: [
"AppHost",
"Casting",
"DateTime"
]
raw_value:
description: Returns the raw value of the registry property, REG_EXPAND_SZ has no string expansion, REG_BINARY or REG_NONE is in hex 0x format.
REG_NONE, this value is a hex string in the 0x format.
returned: success, path/property exists and property specified
type: str
sample: '%ProgramDir%\\Common Files'
type:
description: The property type.
returned: success, path/property exists and property specified
type: str
sample: "REG_EXPAND_SZ"
value:
description: The value of the property.
returned: success, path/property exists and property specified
type: str
sample: 'C:\\Program Files\\Common Files'
'''