VBS modification registre
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:
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é