2 votes

Autorisations de lecture du registre (scripting) sur Windows Server 2003

En exécutant le VBScript suivant sur notre Windows Server 2003

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

donne l'erreur suivante

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.

bien que l'utilisateur (Administrateur) dispose certainement des autorisations nécessaires. La lecture de la clé directement à partir de la ligne de commande fonctionne :

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)

et les permissions (comme indiqué par regedit) sont par défaut : Contrôle total (LOCAL SERVICE, SYSTEM, Administrateurs), Lecture (RESTRICTED).

Pourquoi le VBScript ne parvient-il pas à lire la valeur par défaut de la clé ? L'exécution du même script (en élévation) sur une machine Vista fonctionne bien.

(Je sais que ce script ne sert à rien -- c'est un exemple minimal pour démontrer le problème).

1voto

jason saldo Points 5036

J'obtiens cette erreur si je ne mets pas une clé de registre spécifique dans la commande de lecture.

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X