SYSTEM 帐户对 HKEY_LOCAL_MACHINE 所做的更改似乎正在写入不同的配置单元?

SYSTEM 帐户对 HKEY_LOCAL_MACHINE 所做的更改似乎正在写入不同的配置单元?

我们在使用 RMM 软件修改多台计算机上的注册表项时遇到问题。RMM 软件使用系统帐户执行此任务。

通过RMM软件执行以下命令时:

REG ADD "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\NcdAutoSetup\Private" /f /v NcdAutoSetup /t REG_DWORD /d 2

然后运行:

REG QUERY "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\NcdAutoSetup\Private" /v NcdAutoSetup

我们收到确认,值已更改为0x2

然而,当使用本地管理员权限打开 REGEDIT 并检查键时,我们观察到不同的值:0x1,如屏幕截图所示: Regedit 和命令提示符

看来 RMM 软件正在写入不同的配置单元或位置。当我们在本地 PC 上使用命令提示符更新值时,更改仅反映在 REGEDIT 和REG QUERY命令提示符中,而不是在REG QUERY通过 RMM 软件运行时反映。

我们试图了解为什么根据我们使用系统帐户还是本地管理员会显示两个不同的值。

有人知道为什么会这样吗?需要明确的是,这种情况发生在我们测试过的每台 Win10 / Win11 机器上,而不仅仅是一台。

答案1

在 64 位系统上,32 位进程的某些注册表写入会透明地重定向到“Wow6432node”键下的备用位置。

此外,我相信 32 位进程将自动运行 32 位变体reg.exe(得益于文件系统的相同类型的重定向),因此注册表重定向最终甚至会被外部工具继承。

因此,如果程序使用reg add,您可能需要让它运行并选择/reg:64更新正确的密钥(或者,如果可能的话,迁移到 64 位版本的程序)。

相关内容