无法访问 CERTAIN x64 OS 的 WSUS AutoUpdate Results 注册表项

无法访问 CERTAIN x64 OS 的 WSUS AutoUpdate Results 注册表项

我一直在测试一个 Powershell 脚本来监视域中所有机器上从 WSUS 下载的补丁的最后安装日期时间。

我找到了来自http://technet.microsoft.com/en-us/magazine/gg153542.aspx

我使用的路径是:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\Detect\

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\自动更新\结果\下载\

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\自动更新\结果\安装\

在上述所有路径中,都有一个名为 LastSuccessTime 的变量供我使用。

当我在所有机器上运行脚本时,我无法从以下机器上获得任何信息:Windows 2008 R2 64 位 Windows 2003 Enterprise 64 位 Windows XP 64 位 Windows Vista 64 位

但是,我还从 Windows 7 64 位或 Windows 2003 32 位获取了注册表信息。

真正奇怪的是:

1) 我能够使用 regedit 手动远程访问这些 64 位计算机,并确认路径有效,并且其中有一个 LastSuccessTime 字段。因此,我可以确认相同的路径适用于所有操作系统。

2) 在这些 64 位机器上,我能够毫无问题地获取其他注册表项。

3) 我重新运行了脚本,这次缩短了路径,以查看访问被中止的位置。它在这里

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate

访问被拒绝。

当 WSUS 在 64 位计算机上处​​于活动状态时,读取 ...\WindowsUpdate 注册表文件夹是否会受到限制?

答案1

事实证明,这与以下几点有关:

1) Powershell ISE 在 32 位机器上运行,并尝试远程扫描 64 位 Windows 操作系统。

2)在 64 位 Windows 操作系统上运行的 WSUS 是 64 位应用程序。

3) 32 位 Powershell ISE 和 32 位 regedit 无法远程“查看”以下 WSUS 条目:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results

您只能“看到”以下范围:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

WindowsUpdate 子项对于 32 位应用程序是不可见的。

为了解决这个问题,始终在 64 位 Windows 操作系统上运行 Powershell,您就可以远程“查看” 32 位和 64 位 Windows 操作系统。

相关内容