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 : 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
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.