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 機器上執行相同的腳本(提升)工作正常。
(我知道這個腳本沒有任何用處——這是一個展示問題的最小範例。)
除非我在讀取命令中放入特定的系統資料庫項,否則我會收到該錯誤
Set p_shell = CreateObject("WScript.Shell") p_shell.RegRead("HKEY_USERS\S-1-5-19\Console\HistoryBufferSize")