Tester une succession de mot de passe
Bonjour,
Je vien de creer un vbs qui fonctionne tres bien.
Il permet de faire un check de différentes machines contenues dans un fichier texte. Il me permet de faire un check de mon parc sans avoir à me connecter sur chaque machine.
Je me sert principalement de WMI pour ressortir les infos.
Voila ce qui ressort :
---> Informations OS
---> Informations machine
---> Informations processeurs
---> Services installés et état des services
---> Membres du groupe Administrators
Le problème est le suivant, j'utilise un compte admin local pour me connecter à WMI. Le compte local est le meme sur toutes les machines de mon parc. Cependant pour se compte il existe 2 ou 3 mots de passe différents.
Je voudrais donc faire le test suivant :
En clair, le script essaye de se connecter à la machine avec le compte local, s'il y n'y arrive pas il test le mot de passe 2 puis le mot de passe 3 ...
exemple :
strUser
Test du password1 -> si password ok-> connexion et execution des requetes wmi.
sinon test du password2 -> si password2 ok-> connexion et execution des requetes wmi.
sinon test du password3 -> si password3 ok-> connexion et execution des requetes wmi.
sinon
WScript.Echo "ERREUR CONNEXION IMPOSSIBLE A LA MACHINE DISTANTE !!"
VOila une partie de mon code qui fonctionne, comment integrer la modif ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
'Définition des variables
On Error Resume Next
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("c:\MachineList.txt", ForReading)
'Lecture du fichier juqu'a la fin, si erreur passer au suivant
Do Until objTextFile.AtEndOfStream
strComputer = objTextFile.Readline
WScript.Echo
WScript.Echo "==========================================================="
WScript.Echo "MACHINE en cours : " & strComputer
WScript.Echo "==========================================================="
'Connect
strUser = "Mon_user"
strPassword = "mon_password"
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objSWbemLocator.ConnectServer(strComputer, "root\CIMV2", strUser, strPassword, "MS_409")
'Gestion des erreurs
If Err.Number <> 0 Then
WScript.Echo "ERREUR CONNEXION IMPOSSIBLE A LA MACHINE DISTANTE !!"
WScript.Echo "DESCRIPTION : " & Err.Description & Err.Number
Err.Clear
Else
' Requete WMI
Set colItems = objWMIService.ExecQuery("SELECT * FROM WIN32_OperatingSystem")
For Each objItem in colItems
Wscript.Echo "---> Informations OS"
Wscript.Echo "Nom machine: " & objItem.CSName
Wscript.Echo "Version OS : " & objItem.Caption
Wscript.Echo "Service pack : " & objItem.CSDVersion
Wscript.Echo "Version du noyau : " & objItem.Version
Wscript.Echo "Utilisateur enregistré : " & objItem.RegisteredUser
Wscript.Echo "Repertoire système : " & objItem.WindowsDirectory
Next
'Fin + boucle
End If
Loop |
Merci beaucoup.