Windows Server2003で次の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マシンで同じスクリプト(昇格)を実行すると、正常に機能します。
(このスクリプトが役に立たないことはわかっています。これは、問題を示すための最小限の例です。)
読み取りコマンドに特定のレジストリキーを入力しない限り、このエラーが発生します
Set p_Shell = CreateObject("WScript.Shell")
p_Shell.RegRead("HKEY_USERS\S-1-5-19\Console\HistoryBufferSize")