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....
Le problème est qu'il reste dans la boucle do while meme si la machine est éteinte
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
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
Une petit idée?
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
Merci pour votre aide
Partager