Windows Server 2003 上的注册表读取权限(脚本)

Windows Server 2003 上的注册表读取权限(脚本)

在 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.

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

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)

并且权限(如 regedit 所示)是默认的:完全控制(本地服务、系统、管理员)、读取(受限)。

为什么 VBScript 无法读取该键的默认值?在 Vista 计算机上执行相同的脚本(提升权限)可以正常工作。

(我知道这个脚本没有任何用处——它只是一个用来演示问题的最小例子。)

答案1

除非我在读取命令中输入特定的注册表项,否则会出现该错误

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

相关内容