def get_key_values(rootkey, key):
"""This method acts as a wrapper for the internal __get_key_values method.
Args:
root_key (str): The root key as abbreviated string.
Valid values: [hklm, hkcr, hkcu, hku, hkpd, hkcc].
key (str): The subkey starting from the root key.
e.g.: SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Returns:
list. It returns the retrieved values and subkeys
or an empty list if data could not be retrieved.
"""
rks = [rk.split()[0] for rk in RegistryUtils.ROOT_KEYS]
if rootkey == rks[0]:
return RegistryUtils.__get_key_values(_winreg.HKEY_LOCAL_MACHINE, key)
elif rootkey == rks[1]:
return RegistryUtils.__get_key_values(_winreg.HKEY_CLASSES_ROOT, key)
elif rootkey == rks[2]:
return RegistryUtils.__get_key_values(_winreg.HKEY_CURRENT_USER, key)
elif rootkey == rks[3]:
return RegistryUtils.__get_key_values(_winreg.HKEY_USERS, key)
elif rootkey == rks[4]:
return RegistryUtils.__get_key_values(_winreg.HKEY_PERFORMANCE_DATA, key)
elif rootkey == rks[5]:
return RegistryUtils.__get_key_values(_winreg.HKEY_CURRENT_CONFIG, key)
else:
logging.error('Incorrect registry root key value: {0}. Valid values: {1}'.format(rootkey, RegistryUtils.ROOT_KEYS))
return []
评论列表
文章目录