Bonjour,

Je cherche a faire un script qui arrête plusieurs machine à distance et la dernier quand toute les autres sont arrêté.

J'ai trouvé ce code qui ping la machine mais je n'arrive pas a lui dire tant que....

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
Dim Machine
Dim Temp
Temp=10
trComputer= "192.168.0.123"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ("ShutDown -m \\" & trComputer & " -s -f -t " & Temp)
 
Set objWMIService = GetObject("winmgmts:\\" & "." & "\root\cimv2" ) 
Set colPings = objWMIService.ExecQuery _ 
    ("Select * From Win32_PingStatus where Address = '" & strComputer &"'" )
 
do while
        objStatus.StatusCode<>0 
        Msgbox "L'ordinateur est eteint" 
    loop
Le problème est qu'il reste dans la boucle do while meme si la machine est éteinte

J'ai testé cette methode mais idem il reste dans la boucle , je pense qu'il y a un truc que j'ai pas compris avec do while

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
Set WshShell = WScript.CreateObject("WScript.Shell")
 
Ping = WshShell.Run("ping -n 1 " & "192.168.0.123")
 
 
 
 
Do while ping = false
 
 
msgbox "en ligne"
 
	ping = WshShell.Run("ping -n 1 " & "192.168.0.123")
 
loop
Une petit idée?

Merci pour votre aide