Modification du registre impossible depuis un script

Modification du registre impossible depuis un script - Win 7 - Windows & Software

Marsh Posté le 01-07-2015 à 11:29:16    

Bonjour
 
Quelqu'un saurait-il pour quelle raison, à partir d'un compte utilisateur simple, je peux modifier une valeur du registre (branche HKCU ou HKU) avec Regedit, mais que la même opération échoue depuis un script vbs (avec RegWrite) mais sans message d'erreur ?
 
Je suis pratiquement sûr que mon script est correct car j'en ai trouvé des identiques ailleurs.
 
Merci pour vos lumières

Reply

Marsh Posté le 01-07-2015 à 11:29:16   

Reply

Marsh Posté le 02-07-2015 à 13:29:02    

- fais voir ton script VBS.
- UAC désactivé ?
- as tu essayé avec un .REG ?

Reply

Marsh Posté le 02-07-2015 à 16:29:35    

Bonjour
 
Merci pour votre intérêt.
 

akizan a écrit :

- fais voir ton script VBS.


 
Dim WS
On Error Resume Next
 
Set WS = WScript.CreateObject("WScript.Shell" )
 
'Interdit l'accès au Panneau de configuration
 WS.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoControlPanel", 1, "REG_DWORD"
 
Set WS = Nothing
 
 

akizan a écrit :

- UAC désactivé ?


 
Non. Mais pourquoi n'interviendrait-il que lors de l'usage du script ?
 
 

akizan a écrit :

- as tu essayé avec un .REG ?


 
Oui, avec la commande suivante (Reg au lieu de Regedit pour éviter les messages) :
 
C:\>Reg IMPORT Protect.reg
 
avec dans Protect.reg :
 
Windows Registry Editor Version 5.00
 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoControlPanel"=dword:00000001
 
 
mais je reçois le message : "Erreur : Erreur d'accès au registre".
 
Du coup, j'ai essayé RunAs et RunAsSpc.
Mais j'ai été confronté au problème que j'ai exposé dans l'autre question que j'avais postée précédemment : "Exécuter une commande avec runas sur l'utilisateur et non sur l'admin" : la commande se réalise, mais c'est le profil de l'administrateur qui est modifié !

Reply

Marsh Posté le 02-07-2015 à 16:53:21    

JLC2 a écrit :


 
Dim WS
On Error Resume Next

Set WS = WScript.CreateObject("WScript.Shell" )
 
'Interdit l'accès au Panneau de configuration
 WS.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoControlPanel", 1, "REG_DWORD"
 
Set WS = Nothing
 
 


 
bah voila pourquoi tu n'as pas d'erreur...
sinon, il y' a des clés de registre current user qui n'ont pas tous les droits d'écriture.
C'est le cas de cette clé car elle est "spéciale". en effet c'est elle qui contient les GPO. donc l'utilisateur n'a pas les droits d'écriture.
soit tu changes les droits, soit tu exécutes ton script en compte système via psexec.exe par exemple.

Message cité 1 fois
Message édité par akizan le 02-07-2015 à 17:04:29
Reply

Marsh Posté le 02-07-2015 à 18:18:01    

akizan a écrit :


 
bah voila pourquoi tu n'as pas d'erreur...


 
C'est effectivement judicieux... sauf que ça ne change rien : pas de message d'erreur (car il n'y a pas d'erreur d'exécution, peut-être ?)
 
 

akizan a écrit :


sinon, il y' a des clés de registre current user qui n'ont pas tous les droits d'écriture.
C'est le cas de cette clé car elle est "spéciale". en effet c'est elle qui contient les GPO. donc l'utilisateur n'a pas les droits d'écriture.


 
D'où l'utilisation de RunAs ?
 

akizan a écrit :


soit tu changes les droits, soit tu exécutes ton script en compte système via psexec.exe par exemple.


 
Je vais essayer la seconde solution.
 
Encore merci pour vos remarques

Reply

Marsh Posté le 03-07-2015 à 08:42:35    

Si tu fais un Runas, tu change le contexte utilisateur, et donc de HKEY_CURRENT_USER


---------------
#TeamNoBidouille || Come to the Dark Side, we have cookies || Mangez 5 fruits et légumes par an ! || Le digital, c'est les doigts
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed