Выполнение следующего VBScript на нашем Windows Server 2003
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 работает нормально.
(Я знаю, что этот сценарий бесполезен - это минимальный пример для демонстрации проблемы.)
Я получаю эту ошибку, если не добавляю определенный ключ реестра в команду чтения.
Set p_shell = CreateObject("WScript.Shell")
p_shell.RegRead("HKEY_USERS\S-1-5-19\Console\HistoryBufferSize")