Windows Server 2003上的registry读取权限(脚本)

在我们的Windows Server 2003上执行以下VBScript

Set p_shell = CreateObject("WScript.Shell") p_shell.RegRead("HKEY_USERS\S-1-5-19\") 

产生以下错误

 C:\Documents and Settings\Administrator\Desktop>cscript test.vbs Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. C:\Documents and Settings\Administrator\Desktop\test.vbs(2, 1) WshShell.RegRead: Unable to open registry key "HKEY_USERS\S-1-5-19\" for reading. 

尽pipe用户(pipe理员)肯定有必要的权限。 直接从命令行读取密钥的作品:

 C:\Documents and Settings\Administrator\Desktop>reg query HKEY_USERS\S-1-5-19\ /ve HKEY_USERS\S-1-5-19 (Default) REG_SZ (value not set) 

和权限(如registry所示)是默认的:完全控制(本地服务,系统,pipe理员),阅读(RESTRICTED)。

为什么VBScript无法读取密钥的默认值? 在Vista机器上执行相同的脚本(提升)工作正常。

(我知道这个脚本没有任何用处 – 这是certificate问题的最简单的例子。)

我得到这个错误,除非我把一个特定的registry键在读命令

 Set p_shell = CreateObject("WScript.Shell") p_shell.RegRead("HKEY_USERS\S-1-5-19\Console\HistoryBufferSize")