在我们的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")