WakeOnLan // Réveil, arrêt, redémarrage (et bien plus encore) de postes distants ; utilisation scriptable possible

wakeonlan01.png
français anglais allemand espagnol italien portugais roumain   (pour contribuer, rendez-vous sur la page des fichiers de langues)

Besoin d'intervenir sur un pc situé dans un bureau éloigné du votre et sur lequel vous possédez des droits d'administration (ou de connexion au bureau à distance) ? Le hic, c'est que cela n'est possible que lorsque la machine en question est allumée...

Plutôt que d'utiliser certains outils du même genre mais à l'ergonomie discutable, essayez ce WakeOnLan avec lequel vous allez pouvoir tester l'état des machines (grâce à des Ping très rapides) que vous aurez préalablement déclarées et redémarrer celles que vous souhaitez en un seul clic.

A noter que le réveil d'un pc n'est possible que :

  • s'il possède un adaptateur réseau (intégré à la carte-mère ou carte additionnelle) compatible avec le réveil à distance,
  • si cet adaptateur est raccordé au connecteur WOL de la carte-mère (sur les anciennes configurations matérielles)
  • si cet adaptateur est correctement configuré (paramétrage sous Windows)
  • si le BIOS de la machine est configuré pour permettre le réveil à distance

Mais le réveil à distance n'est pas la seule corde que cet outil a à son arc puisqu'il permet aussi de redémarrer, d'éteindre, de mettre en veille prolongée, de fermer/verrouiller la session sur une ou plusieurs machines distantes. Il faut toutefois que la configuration de la machine 'cible' le permette : le service 'serveur' doit notamment être démarré et vous (l'utilisateur qui souhaite éteindre la machine à distance) devez avoir des privilèges suffisants. A noter que certaines fonctionnalités ne sont pas accessibles aux postes sous Win9x...

Depuis la v3.0, WakeOnLan peut aussi être utilisé en mode ligne de commande. Pour plus d'informations à ce sujet, ouvrez une fenêtre d'invite de commandes, placez-vous dans le dossier dans lequel se trouve l'appli, et tapez WakeOnLanBatch /? (ça fonctionne aussi sans paramètre).

Avec la sortie de la v3.2, l'outil offre désormais la possibilité de réveiller des machines via Internet (fonctionnalité WakeOnWan, ou WOW)...
 

Télécharger Télécharger ce logiciel (version installeur) Télécharger Télécharger le script wakeonwan.php

Télécharger  Télécharger ce logiciel (version portable ZIP)

Note importante aux utilisateurs des versions portables

Date de création : 18/03/2005 @ 23:39
Dernière modification : 01/10/2017 @ 10:29
Catégorie : - Aide à l'administration
Page lue 257740 fois
 

Réactions à cet article

Réaction n°171 

par rike le 20/11/2010 @ 19:26

Bonsoir,
voici le problème que j'ai rencontré dans la nouvelle version 3.5 :
Quand je clique sur l'onglet "+", une fenêtre apparaît donc pour renseigner le nom du dossier. Si je clique sur "ok" (quand aucun nom n'est renseigné, "annuler" ou sur la croix de cette fenêtre, j'ai une fenêtre avec le message suivant "Erreur d’exécution '35603' Invalid key" qui apparaît. J'ai le choix entre OK et la croix pour enlever ce message, et si j'utilise les 2, WakeOnLan se ferme.
Testé seulement avec la version portable zip, sous Seven 32 bits.
Sinon beaucoup plus agréable avec les onglets. Evolution logique et pratique (quand on voit le nombre de programmes qui utilisent les onglets). Après pourrait-on organiser les onglets par glisser/déposer comme Chrome, Firefox etc ?
coucou

[réponse de damien, le 20/11/2010 à 21h37]

Effectivement, je viens de reproduire le bug qui ne se produit qu'à la première utilisation (quand le fichier de configuration n'existe pas encore). Par contre, le problème provoque la création d'un fichier corrompu qu'il faut supprimer.

Merci de m'avoir remonté ça rapidement, dommage toutefois que ce soit passé au travers de mes tests. J'ai regénéré les 3 packages mais en conservant le même versionning, donc toujours v3.5.

Pour ce qui est de la réorganisation des onglets, j'aurais bien aimé faire comme dans Firefox mais le composant que j'utilise ne le permet pas. Il faudra donc faire avec l'onglet destiné à ça dans la fenêtre de configuration.


Réaction n°170 

par mendia le 02/11/2010 @ 23:28

Un grand merci pour : les softs, le "service après vente" très efficace et... leur gratuité. Certains sont d'ailleurs tout aussi efficaces que des solutions payantes (lanhelper par ex.).
Juste un petit détail cependant. Pour WOL, je ne parvenais pas à utiliser les fonctions WMI malgré, entre autre, un packet magic bien reçu par le pc cible (cf WOL monitor). Je me suis aperçu que le firewall Microsot filtrait tout (tests activé/désactivé).
Quelques recherches m'ont amené à cette solution pour générer des exceptions : en commande dos "netsh firewall set service remoteadmin enable". Ensuite tout fonctionne sans problème. Mais qu'elle est cette instruction ? De plus, dans les essais initiaux avec WOL monitor, firewall activé, mais avant cette instruction, les ports variaient sans cesse... D'où ma question : quels sont le ou les ports à ouvrir ? Le sont-ils avec cette commande ?
Encore Merci !

[réponse de damien, le 03/11/2010 à 07h08]

Attention il ne faut pas tout mélanger : le réveil (WOL ou WOW) et les autres commandes mettent en oeuvre des mécanismes totalement différents. Le paquet magique peut tout à fait être opérationnel sur une machine, cela ne veut absolument pas dire que les autres fonctions (WMI ou non) d'arrêt/reboot et compagnie le seront... et inversement.

Le firewall distant n'intervient pas pour le réveil alors qu'il joue bien son rôle pour les trames entrantes des autres actions. Mais le firewall local peut aussi poser problème en filtrant certaines trames sortantes.

Je t'avouerais que je ne me suis pas trop penché sur la config du firewall pour mes outils. Je ne sais pas précisément quels ports il faut mettre en exception, mais je pense qu'en procédant comme tu l'as fait (autoriser RemoteAdmin), ça doit être suffisant. En cherchant rapidement sur le net, il semble qu'il faille ouvrir le port 135 (http://msdn.microsoft.com/en-us/library/aa389286%28VS.85%29.aspx)...


Réaction n°169 

par ben le 01/12/2010 @ 16:55

Bonjour,

Merci pour vos softs.

WakeOnLan serait encore plus complet si  on pouvait envoyer des messages et voir qui est connecté avant un éventuelle shutdown.

Aussi possibilité de créer des onglets groupes de machine à la place des dossiers, meilleurs visibilités et accès.

Cordialement.

[réponse de damien, le 30/10/2010 à 14h04]

Tu ne le précises pas mais j'imagine que quand tu évoques l'envoi de messages, tu penses à NET SEND et non à des mails ? Dans ce cas je me demande si c'est bien utile sachant que cette fonctionnalité tant à disparaître : le service n'est plus systématiquement démarré sur les bécanes XP comme il l'était sous NT/2000 et il n'existe carrément plus sous Windows 7...

Quant à savoir qui est connecté, pourquoi pas effectivement. Rien ne t'empêche de développer toi-même un petit script que tu ajouteras en tant que "commandes personnalisées". Je te propose ceci par exemple :

Fichier qec.vbs
option explicit

dim objWMIService, colItems, objItem
dim strMachine, strResultat

On Error Resume Next

strMachine = ucase(wscript.arguments(0))
 
Set objWMIService = GetObject("winmgmts:\" & strMachine & "rootCIMV2")

if err = 0 then
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem")
  
    For Each objItem In colItems
         strResultat = ucase(objItem.UserName)
    Next
  
    if strResultat <> "" then
         msgbox "L'utilisateur " & strResultat & " est connecté à la machine " & strMachine & ".", vbInformation, "Qui est connecté ?"
    else
         msgbox "Aucun utilisateur n'est actuellement connecté à la machine " & strMachine & ".", vbInformation, "Qui est connecté ?"
    end if
else
    msgbox "La machine " & strMachine & " ne répond pas ou ne permet pas d'accéder à la couche WMI.", vbCritical, "Qui est connecté ?"
end if

Reste à ajouter une référence à ce script (que tu placeras dans le dossier où se trouve l'exécutable de WakeOnLan) dans l'onglet "commandes personnalisées" de la fenêtre de configuration de WakeOnLan :

Nom (menu popup) : Qui est connecté ?
Commande à exécuter : wscript.exe qec.vbs %ip%

Enfin, je trouve séduisante ta suggestion d'utiliser des onglets plutôt que l'actuelle liste déroulante pour les dossiers. Cela améliorerait l'ergonomie du produit sans nécessiter de grosses modifications (à vue d'oeil la modif ne devrait pas être trop complexe à réaliser)... J'y réfléchis pour la prochaine version. cligne

Merci pour tes suggestions.

[réponse complémentaire de damien, le 01/12/2010 à 16h54]

Correction de problèmes de "\" (root\CIMV2), merci à zebulon de me l'avoir signalé...


Réaction n°168 

par Yann le 21/10/2010 @ 12:12

Merci de cette rapidité de réponse!

Malheureusement je l'avais déjà vu et je viens de rééssayer encore une fois, et non, l'extinction s'arrête sur le message bug.

J'ai fait le test en faisant une petit appli en c# :

si j'envoi la commande WMI avec shutdown (flag=1), j'ai la même réaction que WakeOnLan, par contre si j'envoi la commande PowerOff (flag=8), le PC s'eteint complètememt.

Comme quoi l'informatique tiens à pas grand chose des fois cligne

ciao

[réponse de damien, le 22/10/2010 à 20h21]

Désolé pour le retard de ma réponse mais en ce moment je suis pas mal débordé. Je viens de faire un rapide test mais n'ayant pas de poste W2000 sous la main, je ne peux pas vérifier le changement de comportement. Je te ferai parvenir d'ici quelques jours une version à tester si tu veux bien.

Mais au pire, rien ne t'empêche d'ajouter une "commande personnalisée" (voir dernier onglet de la fenêtre de configuration de l'outil) faisant appel à ton exécutable ou même un script...


Réaction n°167 

par Yann le 20/10/2010 @ 16:44

Bonjour,

Avant tout un grand merci pour cet outil il est super! ouais 

Je ne sais pas si c'est l'endroit pour faire cette demande mais j'ai une sugection d'amélioration/ajout d'une fonctionalité:

Serait-il possible d'ajouter la/les commande WMI "Power Off" ? fleur

En effet la commande "Shutdown" sur un ordinateur sous Windows 2000 éteint le système (il s'arrête et affiche le message "Vous pouvez maintenant éteindre votre ordinateur en toute sécurité") mais pas la machine.

Sinon rien à redire cligne

[réponse de damien, le 21/10/2010 à 07h10]

Euh... j'voudrais pas dire de bêtises mais si tu fais un clic-droit sur la/les machines, tu verras un menu contextuel s'ouvrir et, oh surprise! tu y trouveras une option "Eteindre (WMI)"... ça ne suffit pas ?!  sifflote


Réaction n°166 

par Patrick le 10/10/2010 @ 19:42

Bonsoir

J'ai réussi à faire un batch pour démarrer une série de machines avec la commande
WakeOnLanBatch.exe  /w:salle!*, mais quand je veux fire la même chose pour une autre salle, un message me dit que la salle ne figure pas sur la liste; pourtant elle est bien déclarée dans le fichier.ini.

Merci et bravo encore pour ton travail!

Patrick

[réponse de damien, le 10/10/2010 à 21h37]

Ah... il s'agit peut-être un bug.

Peux-tu me faire parvenir ton fichier de configuration et m'indiquer le nom du dossier qui pose problème, histoire que j'essaye de comprendre ?


Réaction n°165 

par nostromo le 29/11/2010 @ 08:10

Salut, c'est de nouveau moi a propos du bug qui fait que lorsqu'on fait un reveil sur un groupe de machine, une machine sur 2 mets un erreur, comme dans cet exemple:

S15-POSTE01 : Erreur à l'envoi du paquet vers 255.255.255.255 (port 7)...
S15-POSTE02 : Paquet envoyé à 255.255.255.255 (port 7)...
S15-POSTE03 : Erreur à l'envoi du paquet vers 255.255.255.255 (port 7)...
S15-POSTE04 : Paquet envoyé à 255.255.255.255 (port 7)...
S15-POSTE05 : Erreur à l'envoi du paquet vers 255.255.255.255 (port 7)...

Traitement terminé.

Il semble d'apres mes tests que cela aie un rapport avec le masque de sous réseau, mais j'en suis pas certain. J'ai tenté de creer un nouvelle base en creer un nouveau dossier wakeonlan et en important quelque machine pour voir si ca faisait pareil, et non, ca ne fait plus le bug. Donc il semble qu'il y aie un soucis avec le parseur du fichier .ini, je sais pas exactement ou.

Merci

[réponse de damien, le 04/10/2010 à 11h24]

Désolé, j'avais zappé ton message... oups

Le phénomène est effectivement bizarre. J'ai essayé de le reproduire mais sans succès... Peux-tu m'envoyer ton fichier de configuration (ou un extrait) pour que je vois s'il peut nous mettre sur la piste d'une explication ? Merci d'avance.

Au vu du copier/coller que tu as inséré dans ton post, il semble que tu aies désigné les machines par leur nom. As-tu essayé en indiquant leur adresse IP pour voir si le problème était le même ? Si tes postes ne sont pas en DHCP ce serait d'ailleurs plus logique de procéder ainsi...

[réponse complémentaire de damien, le 28/11/2010 à 17h44]

Solution trouvée (par toi en plus sourire), voir ce billet...


Réaction n°164 

par Claude94 le 21/09/2010 @ 04:10

Bonjour,

Avant toute autre chose, je remercie le développeur de cette version de WOL que j'utilise quotidiennement depuis plusieurs mois. L'idée d'avoir créé une fenêtre contenant les adresses de toutes les machines que l'on souhaîte réveiller est excellente et facilite au mieux l'utilisation de ce petit utilitaire.

En revanche, si le fonctionnement est aisé sous WINDOWS XP (toutes versions), je n'ai trouvé aucun moyen pour réveiller un ordinateur opérant sous WINDOWS 7. Il va sans dire que les paramétrages ont été, bien entendu, correctement effectués tant au sein du BIOS que du système d'exploitation et des drivers des cartes réseau qui ont, pour celles qui le nécéssitaient, été mis à jour.

Le développeur ou quelque fûté lecteur du présent post ont-ils une idée des démarches à entreprendre pour résoudre le problème ?

Que fait-il faire ?

Merci à tous ceux qui pourront répondre.

Claude 94

[réponse de damien, le 21/09/2010 à 08h43]

Pour commencer, merci pour tes compliments.

Donc tu n'arrives pas à réveiller une machine qui tourne sous Windows 7. Je serais tenté de dire que la version de l'OS n'y est pour rien mais ce n'est pas tout à fait vrai (par exemple, Windows NT4 ne savait pas arrêter les machines dans un état qui permettait leur réveil : la carte réseau n'était plus alimentée). Je ne pense toutefois pas que Microsoft ait régressé avec son dernier OS, alors il faut chercher ailleurs... cligne

Tu dis que le Bios est à jour et correctement configuré. Soit. Cela signifie donc que lorsque la machine est arrêtée, le voyant - vert en principe - de la carte réseau (en espérant qu'elle en ait un) est allumé. Si ce n'est pas le cas, c'est qu'elle n'est pas sous tension. Donc soit ton Bios n'est pas correctement configuré contrairement à ce que tu imagines, soit la carte (s'il s'agit d'une carte additionnelle et non d'un chipset intégré) n'est pas enfichée dans un port PCI qui autorise cette fonctionnalité. Pour moi ils le permettaient tous mais on m'a très récemment dit le contraire.

Si le voyant est bien allumé et que, malgré cela, la machine ne s'éveille pas, il va falloir vérifier que le paquet magique arrive bien à destination. Pour cela je te conseille d'utiliser WOL Monitor (de Depicus) à exécuter sur la machine "cible".

Si le paquet n'est pas détecté par la machine quand elle est allumée, il va te falloir vérifier que les deux bécanes se "voient" bien sur le réseau (un simple PING devrait suffire) et que l'éventuel routeur placé entre les deux bécanes ne filtre pas les trames WOL...

Enfin, assure-toi que l'adresse MAC est correcte, tu as peut-être relevé celle d'un autre adaptateur réseau que celui par lequel le paquet arrive. cligne

J'espère que ces infos te mettront sur la piste pour régler ton problème.


Réaction n°162 

par Stephane le 10/09/2010 @ 17:59

Bonjour,
Merci pour ce logiciel qui va nous changer notre méthode de travail !
Nous devons allumer un groupe de machines le matin et les éteindre à la fin de la journée.
Je voudrais savoir si il est possible de pouvoir, via un batch, de fixer une heure de réveille et d'extinction des machines, ainsi que de créer des groupes de ceci.
Merci d'avance de votre réponse !

Stéphane

[réponse de damien, le 10/09/2010 à 17h56]

Tu peux définir tes groupes en créant des "dossiers" (jette un coup d'œil à la liste déroulante qui se trouve en bas à gauche de la fenêtre principale de l'appli) et en y plaçant tes machines. Si tu as déjà créé toutes tes bécanes dans le dossier par défaut (nommé "machines", tu peux les déplacer en faisant un couper/coller (CTRL-X et CTRL-V).

Ensuite, pour déclencher l'arrêt et le démarrage automatiques, il te suffira de créer un fichier .bat qui contiendra l'appel à la version ligne de commande de mon outil :

  • Exemple pour réveiller toutes les machines : WakeOnLanBatch.exe /w:*
  • Exemple pour réveiller toutes les machines du dossier "salle de formation 1" : WakeOnLanBatch.exe /w:salle de formation 1!*

Et pour l'arrêt, il suffit de remplacer le /w par un /s.

En ce qui concerne la planification de l'exécution de tes scripts, je te conseille d'utiliser le planificateur de tâches (ou la commande AT). Mais attention à ce que la machine qui "pilotera" les autres ne fasse pas partie de la liste à éteindre ! cligne


Réaction n°162 

par Mike le 06/09/2010 @ 12:42

Bonjour,

Je vous remercie pour vos programmes pas encore téléchargées mais qui ont l'air très sympa.

A propos du Wake On Lan, j'ai lu quelque part sur la toile qu'il fallait être dans la même circonscription. Je voudrais utiliser ce programme alors que je serai au moyen-orient... pensez-vous que cela posera problème ?

Ensuite, comment savoir si le PC piloté est équipé du WOL ? J'envisageais de mettre un petit Zotac Mag ou un Aspire revo.

Merci pour vos renseignements!!

Mike

[réponse de damien, le 06/09/2010 à 19h33]

La mise en œuvre du WakeOnLan est contraignante car par défaut on ne peut "traverser" les routeurs qui se trouvent entre la machine à réveiller et celle qui est utilisée pour le réveil. En entreprise, on peut configurer les routeurs, à la maison aussi, mais quand il s'agit de passer par Internet, c'est quasiment impossible...

En fonction de ton besoin, s'est peut-être plutôt vers le WakeOnWan que tu devras te tourner (même technologie que le WakeOnLan à la différence que ce n'est plus ton ordi qui émet le paquet magique mais une machine directement routée sur Internet). Si la machine que tu souhaites réveiller se trouve derrière une box qui "prend en charge" le WOL (fonction proxy-wol sur la Freebox par exemple) alors ça fonctionnera, même si les deux bécanes sont distantes de milliers de kilomètres.

S'agissant de la compatibilité des ordis avec le WOL/WOW, les machines récentes le sont en principe toutes. Je suis toutefois déjà tombé sur certains portables ou desktop utilisés en entreprise qui dérogeaient à cette règle.