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 251782 fois
 

Réactions à cet article

Réaction n°341 

par AlainClaude le 13/01/2017 @ 23:07

Bonjour, bonsoir.

D'abord félicitations pour ce soft qui doit être utile à beaucoup de monde.
J'en fais pour ma part une utilisation familiale pour réveiller une vieille machinetransformée en NAS  qui fonctionne sous Debian/Openmediavault et où je sauvegarde les photos et documents de toute la famille.
Cette machine étant assez bruyante je l'ai reléguée au sous sol d'où mon utilisation de wakeonlan.
J'arrive à la réveiller sans problème avec le script qui est sur le site dipisoft.
J'aurai voulu la réveiller avec le script que j'ai téléchargé et que j'ai installé chez mon hébergeur.
Dans wakeonlan options>configuration>reveil par internet j'ai rentré  ma ligne de commande

http://monfai.fr/wakeonwan.php?ip=92.xxx.xxx.xx&mac=00-00-00-0000-00&port=9

mais voilà ça ne fonctionne pas.

Pourtant je reçois bien le message:
[OK001] Paquet envoyé avec succès vers l'adresse : 92.xxx.xxx.xx
aussi bien avec wakeonlan qu'avec un appel direct du script dans la barre d'adresse de firefox.

ou est-ce que j'ai faux ?

Cordialement et merci d'avance.

[réponse de damien, le 14/01/2017 à 10h45]

Pour être sûr que l'on se comprend bien, tu souhaites donc réveiller ce NAS depuis l'extérieur de chez toi ?

Si ce n'est pas le cas (donc si tu veux le réveiller uniquement depuis le réseau de ton domicile), sache que tu n'as pas besoin de faire du réveil depuis Internet ou "WOW" (via le script hébergé sur mon site ou sur le tien) ; le réveil "normal" ou "WOL" est amplement suffisant. Ce qui simplifie grandement le problème. Dans ce cas il faut utiliser l'adresse IP privée et l'adresse MAC de la machine, le port importe peu.

Mais si tu veux réveiller ton NAS de n'importe où (de ton boulot ou depuis ton mobile, par exemple), là effectivement il faut passer par le WOW via le script de mon site, par exemple, ou héberger celui-ci sur un site internet perso. Mais ça ne fonctionne pas avec tous les hébergeurs car rares sont ceux qui permettent l'utilisation de l'extension php_sockets. Cette fois, c'est l'adresse IP publique de la box, l'adresse MAC de la machine qu'il faudra spécifier et le port aura son importance car tu devras mettre en place une règle de routage de ce dernier vers l'IP privée de la machine (à moins d'être chez Free et de configurer l'option "proxy wol" de la box).

Mais malgré une configuration correcte, en général le WOW (en dehors de chez Free) ne fonctionne que pendant un laps de temps assez court après l'extinction de la machine. Environ 5 minutes, la plupart du temps. C'est le temps au bout duquel le routeur (ou la box) purge sa table de routage et "oublie l'existence" de ladite machine. Et il n'y a quasiment rien à faire contre ça, si ce n'est remplacer le routeur par un autre disposant d'un équivalent de l'option "proxy wol" des Freebox...

Peut-être sais-tu déjà tout ceci et que cette explication ne t'apporte rien. Je pense toutefois qu'elle peut-être utile, si ce n'est pas pour toi, ça peut l'être pour d'autres qui n'auront pas le courage de lire les centaines d'autres commentaires de cet article...

Donc, pour en revenir à ton cas : es-tu sûr que ton hébergeur permet l'utilisation des sockets ? Si oui, as-tu spécifié la bonne adresse IP (l'IP publique de la box, mais ça fonctionne aussi avec le nom DNS correspondant) et la bonne adresse MAC ? As-tu routé le port 7 ou 9 (ou activé l'option "proxy wol" dans le cas d'une Freebox) ? Est-ce que tes tests (entre l'utilisation du script de mon site et quand il est sur ton site) ont été réalisés dans les mêmes conditions, je pense notamment au temps depuis lequel la machine était éteinte ?

Enfin, mais le problème ne vient pas de là, je vois que tu as spécifié "en dur" l'adresse IP, l'adresse MAC et le port dans l'url. En principe il faut utiliser les variables %ip%, %mac% et %port%, celles-ci seront remplacées par les valeurs de la machine sélectionnée au moment du réveil. Je te conseille donc d'utiliser :

http://monfai.fr/wakeonwan.php?ip=%ip%&mac=%mac%&port=%port%

N'hésite pas à me recontacter si nécessaire.


Réaction n°340 

par Benjamin le 09/01/2017 @ 11:22

Salut,Tout d'abord merci pour tes outils. Je débute en administration et du coup en faisant des recherche je suis tombé sur ton site ! Une mine d'or :D
J'ai essayé de mettre ton application WakeOnLan sur un serveur mais j'ai le soucis indiqué dans ta FAQ (elle ne veut pas se lancer à cause du système 64bits - NBSTAT etc )...

J'ai trouvé ce lien qui peut être t'intéressera pour améliorer ton appli :

https://scottiestech.info/2009/06/20/calling-a-32-bit-system-command-from-a-script-in-x64-windows/

Voilou si ça peut aider 
Bonne continuation,

Ben

[réponse de damien, le 09/01/2017 à 18h47]

Merci pour le lien mais il ne m'apporte pas grand-chose.

Comme l'auteur l'écrit, dans son cas non plus il n'a pas de version 32 bits de NBTSTAT dans Sysnative/SysWOW64. Et il ne donne pas de solution pour ça, il ne fait que proposer une méthode qui fonctionne dans un cas "standard" où le système possède ce fichier...

Du coup, as-tu réglé ton problème ?


Réaction n°339 

par jjacques le 21/12/2016 @ 19:17

Alors pour ceux qui ont eut des soucis comme moi pour arrêter un PC win7 familiale (pas dans un domaine mais en Workgroup), le FAQ vient d'être mis à jour avec un script a télécharger.

Dans mon cas ce script fonctionne nickel !!

Et je viens de me rendre compte après essai que ça fonctionne aussi pour win7 PRO en Workgroup.

Un grand merci à Damien pour sa rapidité et son efficacité !!

[réponse de damien, le 21/12/2016 à 19h22]

Merci d'avoir pris le temps de poster le résultat de l'opération et également pour le don que tu as fait. cligne


Réaction n°338 

par jjacques le 20/12/2016 @ 19:22

Bonjour,

Je n'arrive pas à faire fonctionner le shutdown avec un PC sous win7 édition familiale sur le réseau local (workgroup)

y-a-t-il un paramètre dans Windows à activer ?

Les 2 règles WMI-in du  pare-feu sont autorisées... mais sans succès.

Merci !

[réponse de damien, le 21/12/2016 à 11h50]

Je viens de retoucher une partie de la FAQ qui, je l'espère, t'aidera à résoudre ce problème.

Jette un coup d’œil à ceci : "Dipiscan/IPScan32/WakeOnLan/WmiSysInfos - Accéder aux informations et/ou agir sur une machine à distance"

N'utilisant pas les éditions "Home", je ne sais pas si ce sera salvateur dans ton cas. N'hésite pas à me recontacter pour me dire si ça a fonctionné ou si tu es toujours bloqué.


Réaction n°337 

par Gilles le 02/11/2016 @ 15:22

Bonjour ,la question a peut etre été deja posée mais
je gère un parc de 8000 machines sous AD.
Peut on importer les machines facilement ?
Merci pour ton aide
Gilles

[réponse de damien, le 02/11/2016 à 19h16]

Facilement, oui et non... L'appli offre des fonctionnalités d'import mais pas en provenance de l'AD, uniquement de fichiers formatés.

Pour parvenir à tes fins, tu devras faire une extraction de la liste des PC (via certains outils ou scripts) de l'AD vers un fichier texte et alors tu pourras importer ces machines dans WakeOnLan.

Je te propose ce script (qui n'est pas encore dispo sur mon site). Il s'agit d'une version enrichie du script UserInfos qui était plus destiné aux comptes utilisateurs. Ce nouveau script est plus (+) configurable. Il doit être lancé sur une machine du domaine, après l'avoir éventuellement paramétré en fonction de tes besoins, en modifiant les constantes situées entre les lignes 25 et 70.


Réaction n°336 

par al le 06/10/2016 @ 17:10

Bonjour,
Je souhaite réveiller l'ordi B depuis mon téléphone et ordi A.
Sur l'ordi B (acer F15 windows 10 carte réseau Realtek PCIe GBE Family controller (version 10.1.505.2015) j'ai :* dans le bios : activer le WOL* Propriété carte ethernet : gestion alimentation j'ai autorisé le paquet magique à sortir l'ordi du mode veille* Propriété carte ethernet : Avancé, Wake on magic packet est bien sur enabled* J'ai désactivé le démarrage rapide
Sur ma box Livebox, * j'ai ouvert les port TCP/UDP 445, 8900, 9, 22, 7, 4343* J'ai aussi donné une adresse IP statique à B pour être sûr quelle ne change pas.
Sur le logiciel *quand je clique sur tester tout, le point est bien vert*quand je veux redémarer j'ai err=5
Je ne sais plus quoi faire pour que ça marche. Pouvez-vous m'aider ? Merci

[réponse de damien, le 06/10/2016 à 19h57]

On parle de quoi là, de réveil (WOL/WOW, allumage du PC quand il est éteint ou en veille) ou de redémarrage (reboot d'un PC allumé) ?

Parce que les opérations que tu as effectuées/décrites concernent le réveil (WOL/WOW).

Mais ensuite tu parles de "redémarrer" et d'erreur n°5 (accès refusé). Erreur "normale" si tu n'as pas fait les configurations nécessaires, décrites notamment dans la FAQ de mon site. Le plus simple étant d'utiliser le script suivant (à partir de Vista, la conf du firewall n'étant pas adaptée à XP et précédents), à exécuter en tant qu'admin.

echo ### Configuration du firewall pour activer la réponse au ping et la réponse aux requêtes NetBIOS
netsh advfirewall firewall add rule name="_ICMPv4" protocol=icmpv4:any,any dir=in action=allow
netsh advfirewall firewall add rule name="_NetBIOS UDP Port 137" dir=in action=allow protocol=UDP localport=137
netsh advfirewall firewall add rule name="_NetBIOS UDP Port 137" dir=out action=allow protocol=UDP localport=137
netsh advfirewall firewall add rule name="_NetBIOS UDP Port 138" dir=in action=allow protocol=UDP localport=138
netsh advfirewall firewall add rule name="_NetBIOS UDP Port 138" dir=out action=allow protocol=UDP localport=138
netsh advfirewall firewall add rule name="_NetBIOS TCP Port 139" dir=in action=allow protocol=TCP localport=139
netsh advfirewall firewall add rule name="_NetBIOS TCP Port 139" dir=out action=allow protocol=TCP localport=139
netsh advfirewall firewall add rule name="_NetBIOS TCP Port 445" dir=in action=allow protocol=TCP localport=445
netsh advfirewall firewall add rule name="_RPC" dir=in action=allow protocol=TCP localport=RPC
echo.

echo ### Activation de l'administration à distance
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v AllowRemoteRPC /t reg_dword /d 1 /f
echo.

echo ### Désactivation de l'UAC pour les appels distants
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v LocalAccountTokenFilterPolicy /t reg_dword /d 1 /f
echo.

pause

Réaction n°335 

par mephbis le 06/09/2016 @ 17:16

Bonjour Juste une petite question: est-il possible de programmer les différents groupes constitués pour qu'ils s'éteignent  le soir et se rallument chaque matin  à des heures précises ?
Sinon félicitation pour votre travail !!!

[réponse de damien, le 06/09/2016 à 22h13]

Oui et non. En fait, l'appli n'intègre pas de "scheduler" donc il n'est pas possible de planifier des actions.

Mais si tu très facilement arrêter/réveiller des machines en mode ligne de commandes utilisant le module WakeOnLanBatch (présent dans le dossier de l'appli). Script que tu peux faire exécuter par le planificateur de tâches de Windows.

Tu trouveras des exemples de "script" (rien de complexe puisque c'est juste une ligne de commande à exécuter) en lançant WakeOnLanBatch sans paramètre, depuis une fenêtre d'invite de commandes. Ou bien en parcourant mes réponses à certaines réactions à ce présent article.

N'hésite pas à me recontacter si nécessaire.


Réaction n°334 

par jadu29 le 01/09/2016 @ 23:03

bonsoir
pas possible de redémarrer à distance, "erreur 05", c'est dû à quoi ???
merci

[réponse de damien, le 02/09/2016 à 07h20]

Pourquoi te focaliser sur "erreur 5" alors que le message complet "La machine distante a rejeté la demande : accès refusé. (err=5)" parle de lui-même, non ? "Accès refusé" n'est pas suffisamment clair ?

Si tu obtiens ce message, c'est que la machine distante ne te reconnait pas comme admin depuis la machine à partir de laquelle tu fais la manip. Tes postes sont en workgroup ou dans un domaine ?


Réaction n°333 

par Passo le 27/07/2016 @ 00:03

Bonjour,coucou votre app est impressionnante, merci ...cependant j'ai qu'un soucis...la machine que je souhaite éteindre est sous Ubuntu...et bien sur l'app m'envoie un message d'erreur...

en ce qui concerne le WON, ça marche nikel.

auriez-vous une idée pour solver ce problème? en évitant la réponse Teamviever...
Merci
Passo

[réponse de damien, le 27/07/2016 à 00h41]

Cette question a déjà été posée à plusieurs reprises. Visiblement la solution a fonctionné pour les autres personnes qui rencontraient le même besoin.

Jette un coup d’œil à la réaction n°282.


Réaction n°332 

par grundraisin le 22/07/2016 @ 17:58

Bonjour Damien,

Juste pour te dire que ton Wake on Lan est top du must, c'est du très beau travail. J'ai galéré pendant une semaine pour paramétrer les 10 machines que je gère (win xp et 7, de constructeurs et d'âge différents, donc BIOS et carte réseau différentes), machines au sein d'un domaine.
J'ai installé WOL sur le contrôleur de domaine (qui lui est tout le temps allumé et accessible depuis partout) MAIS grossière erreur de ma part: le contrôleur de domaine avait un masque de sous réseau à 255.255.255.0 et les machines avec un masque de 255.255.252.0. La conséquence était que les machines pouvaient s'allumer seulement si elles venaient d'être éteinte (1 à 2min) après ça: macache!
Je suis parti loin dans les entrailles du net pour trouver l'erreur (magic packet en unicast ou broadcast, gestion d'alim S1-S5 etc....) j'en avais chaud au visage. Et j'ai changé ce 255 en 252 et hop tout s'allume quand je veux, d'où je veux (depuis chez moi d'où je contrôle le domain controller). Là, je me sens puissant :)) Donc attention les machines doivent avoir le même masque (ou sinon c'est que j'halucine)
Bref, j'ai 2 questions:
- Quelle est la différence entre Eteindre, Eteindre/PowerOff(WMI) et Eteindre/Shutdown(WMI)?

Pour toutes les requêtes WMI (Eteindre, Redemarer, Fermer session) le firewall (win xp et 7) ne laissait rien passer.
Pour XP la solution a été de lancer cette commande (cmd.exe) pour autoriser les requêtes WMI à travers le firewall:

netsh firewall set service RemoteAdmin enable

(voir https://www.poweradmin.com/help/faqs/how-to-enable-wmi-for-remote-access/)
Après ça toutes tes commandes WMI passent parfaitement.

Pour Win 7 la solution est d'autoriser (dans Inbound Rules) les deux "Windows Management Instrumentation (WMI-In)" et les WMI passent.

2ème question: dans Dipiscan où trouve-ton WOL, je trouve les paramètres de réglage de WOL mais comment fais-je pour wake up une machine?

En tout cas bravo pour ton travail et pour ta peine je t'ai envoyé 10€ cool

[réponse de damien, le 22/07/2016 à 19h39]

Alors tout d'abord, merci pour ton don ainsi que les compliments par lesquels tu commences ton message... ça fait super plaisir ! cligne

Ton retour d'expérience est intéressant, j'espère qu'il aidera certains qui pourraient se trouver dans une situation comparable. Quoi qu'avoir encore des postes sous XP, il ne doit pas en rester encore des masses ! cligne

J'en viens à ta question sur les différences entre l'extinction non-WMI ("Eteindre" tout court) et les deux en WMI : le premier (qui utilise une API du système équivalente à la commande SHUTDOWN /s) permet de définir un délai avant l'extinction ainsi qu'un message qui sera affiché à l'utilisateur. Du côté des deux autres qui mettent en œuvre WMI, l'opération est effectuée immédiatement.

A présent, la différence entre "Eteindre/PowerOff(WMI)" et "Eteindre/Shutdown(WMI)" : elle est quasi inexistante sur les OS modernes (XP y compris). En fait elle ne se voit que jusqu'à NT 4/2000 il me semble où, sur certaines machines, tu obtenais le fameux message "Vous pouvez maintenant éteindre votre ordinateur" à l'extinction. Pour confirmer mes dires, je viens de faire le test sur une vieille VM NT4 : "Eteindre/PowerOff(WMI)" éteint la machine complètement, "Eteindre/Shutdown(WMI)" décharge Windows et affiche ledit message (souvenirs !).

Enfin, ta dernière question : les fonctionnalités de WakeOnLan intégrées à Dipiscan sont accessibles par l'entrée "Agir >" du menu contextuel. Celui qui s'ouvre lorsque tu cliques-droit sur une machine ou une sélection de machines...

Voilà, j'espère avoir répondu à toutes tes interrogations.

Encore merci pour ton don, bonne soirée et bon week-end ! Et bonnes vacances si c'est le cas. Pour ma part les congés viennent tout juste de commencer pour 4 semaines ! banadance