Bonjour,
Si le compte Administrateur n'existe pas, la ligne suivante te renverra une erreur :
set objUser= GetObject("WinNT://" & computername & "/Administrateur,user")
La ligne te renverra toujours "Administrateur" si l'utilisateur existe, vu que c'est lui tu appelle dans ton "GetObject".
if objuser.Name = Administrateur then objUser.SetPassword "mdp"
Donc plusieurs solutions (comme d'hab) :
- La plus simple (et la plus sale) : tu teste l'erreur après la récupération de l'objet utilisateur. Si il y a une erreur, on peut penser que l'utilisateur n'existe pas (ou que c'est une autre erreur...) bref :
1 2 3 4 5 6 7 8 9 10 11 12
|
On Error Resume Next
Set WshNet = CreateObject("Wscript.Network" )
computername = WshNet.ComputerName
set objUser= GetObject("WinNT://" & computername & "/Administrateur,user")
If Err.Number <> 0 Then
Wscript.Echo "Erreur n° " & Err.Number & vbCrLf & Err.Description
Err.Clear
Else
objUser.SetPassword "mdp"
objUser.SetInfo
End If |
- Une autre solution serait de lister tous les utilisateurs locaux de ta machine, et de vérifier que l'utilisateur "Administrateur" en fait partie avant de créer ton objet utilisateur. Cela t'éviterait d'appeler un utilisateur qui n'existe pas, ce qui génère des erreurs.
A toi de voir.
Partager