hwaudit: Registry-Abfragen werden nicht in 64-Bit-Registry durchgeführt
Verfasst: 03 Jun 2026, 16:34
hwaudit dokumentiert, dass Registry-Abfragen den nativen Registryzweig ohne Umleitung verwenden:
Meine Vermutung ist, dass es daran liegt, dass getRegistryValue ohne spezifische Architekturangabe aufgerufen wird, wodurch platform.architecture geprüft wird:
opsi-hwaudit.exe ist jedoch ein 32-Bit-Prozess, womit platform.architecture() immer "32bit" zurückgeben dürfte.
greift damit auf HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432NodeMicrosoft\Windows\CurrentVersion\Uninstall\7-Zip zu, wodurch ein Auslesen des 64-Bit-Zweigs nicht möglich ist.
Bei welchen Versionen der beteiligten Komponenten tritt das Problem auf?
[ul]
[*]opsi-client-agent: 4.3.19.9-1
[*]hwaudit: 4.3.2.3-1 sowie 4.3.2.5-1
[/ul]
Dies ist jedoch nicht der Fall; wie sich mit Process Monitor feststellen lässt, werden Abfragen innerhalb von HKEY_LOCAL_MACHINE\SOFTWARE in den WOW6432Node umgeleitet."Registry": "[<registry key>] <value name>"
Aus der Registry wird in <registry key> der Wert von <value name> ausgelesen.
Das Auslesen der Registry erfolgt Architektur spezifisch. Das heißt, auf einem 64 Bit System wird der 64 Bit Zweig der Registry ausgelesen.
Meine Vermutung ist, dass es daran liegt, dass getRegistryValue ohne spezifische Architekturangabe aufgerufen wird, wodurch platform.architecture geprüft wird:
Code: Alles auswählen
def getRegistryValue(key, subKey, valueName, view: Literal["32bit", "64bit", "sysnative"] = "sysnative"):
"""
Get the value of a registry key.
A view can be specified to explicitly read from the 32bit or 64bit registry view.
If no view is specified, a WOW process will be redirected to the corresponding registration view.
"""
if view == "sysnative":
view = "64bit" if "64" in platform.architecture()[0] else "32bit"
Code: Alles auswählen
{
"Class": {
"Type": "STRUCTURAL",
"Opsi": "BUG_REPORT_TEST"
},
"Values": [
{
"Type": "tinyint",
"Scope": "g",
"Opsi": "VersionMajor",
"Registry": "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\7-Zip]VersionMajor"
}
]
}
Bei welchen Versionen der beteiligten Komponenten tritt das Problem auf?
[ul]
[*]opsi-client-agent: 4.3.19.9-1
[*]hwaudit: 4.3.2.3-1 sowie 4.3.2.5-1
[/ul]