读取远程计算机上的单个注册表项值

2024-05-19 02:12:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难实现这个看似简单的目标。。。在

我必须收集几台机器上单个注册表项的值,以便审核扫描的计算机是否需要使用更新版本的软件进行修补。根据我们公司的政策,我只能使用python3(这是关于毒品的,但我能做些什么)。在

我一直在研究使用winreg模块连接到远程计算机(使用凭据,我们在一个域中),但是我一次又一次地遇到

TypeError: The object is not a PyHKEY object (or a number of other issues.)

这似乎是一个非常常见的需求,我很惊讶地发现,我很难找到任何python3的示例来找出我做错了什么。在

如果有人愿意提供任何帮助,我们将不胜感激。提前谢谢。在


Tags: 模块版本机器目标软件远程object注册表
2条回答

你能出示你正在写的代码吗?你打开钥匙了吗?很多人都有问题,因为他们没有打开它?这只是猜测,希望能奏效

key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r'SYSTEM\CurrentControlSet\Enum\Root')

winreg模块不允许您执行reg query所做的事情。例如,要读取BuildLabExreg键值,我要做的是:

import subprocess

keyPath = "\\\\RemoteMachineName\\HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion"
output = subprocess.run(["reg", 
                 "query",
                 keyPath,
                 "/v",
                 "BuildLabEx"], 
               capture_output=True,
               text=True)
print(output.stdout)

上述代码段等效于:

^{pr2}$

相关问题 更多 >

    热门问题