Voir si un pc est allumé - VB/VBA/VBS - Programmation
Marsh Posté le 30-11-2004 à 20:08:23
J'ai une boucle qui me permet de voir tous les pc's du réseau!
Ce que je voudrais, c'est incorporé dans la boucle un test pour voir si le pc est allumé
Marsh Posté le 01-12-2004 à 07:02:23
Je le poste dés que je suis au cours... En fait mon script contact l'annuaire du serveur du domaine! De là j'ai la liste de tous les pcs concernés par mon domaine.
Ensuite, je voudrais que a chaque foi que je lis une ordinateur dans la boucle, que je puisse vérifier si il est allumé ou pas
Marsh Posté le 01-12-2004 à 10:41:23
Code :
|
Je voudrais ajouter le test dans le IF et savoir via un signe spécifique (1 ou 0 par ex) si le pc est allumé
Marsh Posté le 01-12-2004 à 15:58:44
je pense qu'il a surement d'autre façon que le ping, par exemple faire une tentative de connection et si cela marche pas, renvoyer une valeur
Marsh Posté le 01-12-2004 à 16:15:14
loin de là mais cela en fera partie, j'ai vu plein de script mais iren du tout
Marsh Posté le 01-12-2004 à 16:55:57
chepa_jemls a écrit : je pense qu'il a surement d'autre façon que le ping, par exemple faire une tentative de connection et si cela marche pas, renvoyer une valeur |
Pourquoi tu ne veux pas de ping ? Comme tu ne traverses pas de routeur ou de firewall, c'est techniquement la solution la plus simple et la plus fiable, même avec les firewall type SP2. Je vais pas te faire un cours sur la pile TCP/IP, et le protocole ICMP, mais bon...
Marsh Posté le 01-12-2004 à 21:49:12
J'ai pas dis que je voulais pas le ping, je veux simplement donner un max d'info possible relatif à mon problème...
Je veux pas donner trop de contrainte.
Est ce possible ou pas?
Marsh Posté le 02-12-2004 à 09:57:52
chepa_jemls a écrit : J'ai pas dis que je voulais pas le ping, je veux simplement donner un max d'info possible relatif à mon problème... |
Oui c'est possible, en essayant de contacter le PC en face. Et la meilleur façon de contacter le PC en face, c'est d'envoyer un paquet Ping, car le protocole utilisé est indépendant des ports ouverts, etc.
Donc soit tu trouves un objet qui fait ping en VB, soit tu utilises WScript.Shell pour exécuter ping.exe.
Marsh Posté le 02-12-2004 à 11:05:00
C'est justement là ou se trouyve mon problème...
J'avais trouvé un truc en VB et ca me fesait un erreur...
J'ai aussi testé le ping via WScript.Shell, cela va très bien mais j'arrive pas a avoir le retour d'une valeur qui me permettrais de faire un test suivant si le pc est allumé ou éteind!
Je suis clair?
Marsh Posté le 02-12-2004 à 11:12:55
chepa_jemls a écrit : |
All Clear.
Va voir comment le monsieur fait ici:
http://www.pcwelt.de/downloads/office/vb-script/8767/
En fait, tu fais un "ping -n 1 127.0.0.1 > c:\temp\fichier.txt", puis tu lis le contenu du fichier pour voir s'il contient un round-trip time. Si c'est le cas: le PC est vivant.
Marsh Posté le 02-12-2004 à 11:52:57
comment je fais pour voir le contenu du code de cette personne... Moi pas comprendre l'allemand
Marsh Posté le 02-12-2004 à 12:01:53
Lam's a écrit : |
Comment tu sais qu'il a fini d'écrire dans le fichier ?
Marsh Posté le 02-12-2004 à 12:08:25
HelloWorld a écrit : Comment tu sais qu'il a fini d'écrire dans le fichier ? |
T'attends que le programme finisse. C'est le 3ème argument à WShell.Run
Le code (en allemand )
Code :
|
Marsh Posté le 02-12-2004 à 13:25:01
ReplyMarsh Posté le 02-12-2004 à 13:49:56
je comprends pas ca façon de faire son ping
Proggi = "%comspec% /c ping.exe -n 1 -a" & " " & Inhalt(x) & " " & ">c:\temp.txt"
Marsh Posté le 02-12-2004 à 14:02:59
%comspec%, c'est cmd (ça date de MS-DOS, où on pouvait utiliser d'autres interpreteurs de commandes, comme 4Dos uo autres).
Faire "cmd /c toto.exe", ça permet d'être sûr de pouvoir exécuter toto.exe en le cherchant dans le path, etc. C'est très utile si tu souhaites exécuter "copy" par exemple.
Dans le cas présent, c'est pas très utile. Pour le reste, tu dois comprendre tout seul, ou en faisant "ping /?".
Marsh Posté le 02-12-2004 à 15:10:35
Sous Win9x c'est command.com, d'où %comspec% je présume.
Marsh Posté le 02-12-2004 à 17:37:44
Lam's a écrit : %comspec%, c'est cmd (ça date de MS-DOS, où on pouvait utiliser d'autres interpreteurs de commandes, comme 4Dos uo autres). |
Bon ben j'essairai cela, mais j'ai des doutes sur la possibilté de vérifié si le ping s'est bien exécuté
Marsh Posté le 02-12-2004 à 19:34:11
tiens je te le fais en wmi
Citation : |
Marsh Posté le 02-12-2004 à 22:29:19
j'en ai entendu parlé du wmi, masi vu que je début, je dois sauvez cela sous quel format?
Marsh Posté le 07-12-2004 à 09:52:15
voilà, je viens de tester le script sur le réseau!voilà l'erreur que cela me donne:
H:\>cscript "C:\Documents and Settings\info210\Bureau\Copie de listpc.vbs"
C:\Documents and Settings\info210\Bureau\Copie de listpc.vbs(6, 1) (null): 0x800
41010
Pour info, j'ai copié le script au format .vbs...
Quelqu'un sait m'aider?
Marsh Posté le 12-12-2004 à 21:51:41
Je sais pk le script ne marche pas, c'est parce que c'est un script pour un domain win2003..
Le severu est un serveur sous windows 2000!! Puet on m'aider svp?
Marsh Posté le 30-11-2004 à 08:59:36
Bonjour à tous,
Depuis un petit temps je cherche ma façon de voir, via un script vbs, si un pc est allumé!!(un genre de ping en fait)
Mais j'aimerai qu'il me sorte une donnée exploitable (par ex 1 si allumé et 0 si pas allumé)
Merci de votre aide,
Damien