Bonjour,

Dans un scipt VBS je souhaite ajouter une valeur à l'une des clés du registre et j'échous sur un problème d'autorisation que je ne sais pas résoudre. L'OS est Windows 10. Ci dessous le code qui me sert à tester.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
wd = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword"
auto = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon"
mdp = "toto"
 
'Le script se relance lui-même en mode admministrateur
'-----------------------------------------------------
If WScript.Arguments.length = 0 Then
	Set objShell = CreateObject("Shell.Application")
	objShell.ShellExecute "wscript.exe", Chr(34)& WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else ' À la relance
	Set MonShell = CreateObject("WScript.Shell")
	MonShell.RegWrite auto, "1"
	msgbox "auto logon modifié"
	MonShell.RegWrite pwd, mdp, REG_SZ
	msgbox "default password modifié"
End If
Dans un premier temps le script détecte la présence de paramètres. Comme il est lancé depuis un raccourci il n'en comporte donc pas et il se relance lui-même, cette fois-ci en mode administrateur. Après avoir répondu oui à la demande d'autorisation émanant de l'UAC le premier RegWrite s'effectue sans problème mais le deuxième échoue avec l'erreur 800A0005, que l'on tente de créer cette valeur ou de la modifier.

J'aimerais bien avoir une explication à ce refus de modification, sachant qu'à la main elle passe sans problème. Je dois toutefois signaler que lorsqe l'on renseigne DefaultPassword via regedit et que l'on passe AutoAdminLogon de 0 à 1 (logon automatique) cette valeur est supprimée au démarrage. C'est d'ailleurs pourquoi je tente de la recréer.

Merci d'avance pour vos suggestions.

Heffgé