python - 我如何知道在 HKEY_LOCAL_MACHINE 中创建注册表项的用户名

标签 python windows registry

我如何知道在 HKEY_LOCAL_MACHINE 中创建注册表项的用户名。如何使用 python 获取上述用户名? 示例:

key :HKEY_LOCAL_MACHINE\BCD00000000\Description
username: BUILTIN\Administrators

最佳答案

您可以获得 key 的当前所有者,该所有者可能是一个组(例如管理员),但不是创建它的用户。例如,使用 PyWin32 包:

import win32security

sd = win32security.GetNamedSecurityInfo(r'MACHINE\BCD00000000\Description',
        win32security.SE_REGISTRY_KEY, win32security.OWNER_SECURITY_INFORMATION)
owner_sid = sd.GetSecurityDescriptorOwner()
owner_name = '\\'.join(win32security.LookupAccountSid(None, owner_sid)[1::-1])

GetNamedSecurityInfo 支持本地和远程注册表项(例如“\\ComputerName\CLASSES_ROOT\SomePath”),预定义注册表项使用以下名称:“MACHINE”、“USERS”、“CLASSES_ROOT” ”和“CURRENT_USER”。

关于python - 我如何知道在 HKEY_LOCAL_MACHINE 中创建注册表项的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64023812/

相关文章:

python - 如何使用 Xpath 在 iframe 中选择元素?

python - 如果在更新之前进行插入,是否需要提交代码?

Android NDK 默认位置

windows - 如何列出 Windows 域中的所有用户和组?

php - 将一个文件夹中的所有文件和文件夹移动到另一个?

python - 在 XAMPP 上安装 SDAPS?

python - 如何使用 Poetry 将 Python 包部署到 Gitlab 包注册表?

Windows 资源管理器上下文菜单集成,获取右键单击的文件

.net - 检查注册表值是否存在 Visual C++ 2005

windows - BCryptGetFipsAlgorithmMode 使用哪些数据来确定 FIP 状态?