当我试图通过pythonwinreg连接到远程机器的注册表时,我遇到了一个问题。 我正在尝试从注册表中从当前登录的用户捕获映射的网络打印机。在
我的代码如下:
def enumRegKeySubkeys():
key_path = "Printers\\Connections"
target = r"\\192.168.20.164"
rem_reg = ConnectRegistry(target, HKEY_CURRENT_USER)
rem_key = OpenKey(rem_reg, key_path, 0, KEY_READ | KEY_WOW64_64KEY)
result = []
index = 0
while True:
try:
subkey = EnumKey(rem_key, index)
result.append(subkey)
index += 1
except EnvironmentError:
return result
运行此程序时,我收到错误消息:
Traceback (most recent call last) File ".\test2.py", line 21, in print(enumRegKeySubkeys()) File ".\test2.py", line 8, in enumRegKeySubkeys rem_key = OpenKey(rem_reg, key_path, 0, KEY_READ | KEY_WOW64_64KEY) FileNotFoundError: [WinError 2] The system cannot find the file specified
如果我在本地运行
^{pr2}$那就没问题了,我得到了我想要的。在
所有这些都发生在Windows域环境中,使用管理(域)权限运行,并且客户端上的远程注册表服务正在运行。在
提前感谢您的帮助!在
实际上,}
ConnectRegistry(target, HKEY_CURRENT_USER)
等于dos命令reg query \\target\HKEY_CURRENT_USER
,这是无效的,因为远程服务器的reg查询只能用于HKLM
和{在dos窗口中键入
reg query /?
,您可以看到:[\\Machine\]FullKey: Machine - Name of remote machine, omitting defaults to the current machine. Only HKLM(HKEY_LOCAL_MACHINE) and HKU(HKEY_USERS) are available on remote machines
相关问题 更多 >
编程相关推荐