Назад | Перейти на главную страницу

Разрешения на чтение реестра (сценарии) в Windows Server 2003

Выполнение следующего 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")