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

Réactions à cet article

Réaction n°351 

par BHL le 17/03/2017 @ 15:54

Jimmy : Oui Jimmy ! Pour être long, ça été long et douloureux. Notre parc lui est composé de DELL Optiplex 3010 MT.Etant pressé et pas le temps de bouquiner à l'époque pour automatiser tout cela, j'y suis allé à la main quoi.

Damien : Désolé, il faut que je mets de l'ordre dans mes alias et redirection. Désolé. 

[réponse de damien, le 17/03/2017 à 18h23]

Pas de problème...


Réaction n°350 

par Mario le 14/03/2017 @ 12:11

Bonjour Damien,

J'espère que tu vas bien.

Je suis passé à Dipiscan et j'en apprécie la vitesse.

Mais come j'utilise aussi WakeOnLan, je ne trouve pas la facon d'importer les fichiers de l'un vers l'autre. Et quand j'exporte et reimporte en format TXT, les champs ne correspondent pas (ex: Le champ REPLY de DipiScan devient MACHINE OU UTILISATEUR chez WakeOnLan.

Any help ?

Merci d'avance.

Mario

[réponse de damien, le 14/03/2017 à 19h10]

Pour importer un fichier Dipiscan (ou exporté par n'importe quel autre outil) dans WakeOnLan il faut utiliser "Importer une liste depuis un fichier texte..." et non "Importer une liste générée par IPScan32...".

Ce module permet de "mapper" les colonnes que tu veux importer (un peu comme l'import de Microsoft Excel), en cliquant dans les en-têtes des colonnes.


Réaction n°349 

par   tremblic le 10/03/2017 @ 18:01

WOL avec windows 10 contrôle seulement un ordi et ce partiellement depuis la version 1607.
Comment puis-je reprendre le contrôle total de mes autres PC.

Merci

Félicitation pour vos nombreux travaux.

A+

Eric 

[réponse de damien, le 12/03/2017 à 10h37]

Qu'entends-tu précisément par utilisation "partielle" de mon appli WakeOnLan ? Et par "reprendre le contrôle total" ?

Désolé mais même en faisant des efforts je ne comprends pas.


Réaction n°348 

par Jimmy le 01/03/2017 @ 08:32

Merci pour ton retour BHL, ca fait toujours plaisir de savoir que ca a pu aider quelqu'un ! 161 postes, ca a du être long ! :p Pour info mon parc est composé de Dell Optiplex 3010, 3020, 3040, Precision 1700 et tout fonctionne très bien. (Nous avons aussi des PC portable Dell latitude mais j'ai fait le choix de les exclure de ma stratégie WOL qui contient en plus une fermeture de session auto chaque soir de la semaine)

Bonne continuation

[réponse de damien, le 01/03/2017 à 19h38]

Je ne peux pas transférer à l'intéressé qui a malheureusement fourni une adresse erronée (ou fausse, ce que j'adore pas content... alors qu'il y a possibilité de la masquer ).

J'espère qu'il repassera pour voir ta réponse.


Réaction n°347 

par BHL le 28/02/2017 @ 13:18

Jimmy ! Merci ! Tu me sauves !Si j'avais eu ton script plus tôt (l'an dernier), cela m'aurait éviter de me taper l'activation du WoL dans nos machines DELL (161) à la main ! (et encore qu'il en reste une 50aine encore).Je garde tes scripts PowerShell sous le coude dans ma boite à outils pour les machines restantes de la boite.

[réponse de damien, le 28/02/2017 à 19h42]

Merci pour lui, je transfère ton message au cas où il ne repasserait pas par ici...


Réaction n°346 

par emmanel le 08/02/2017 @ 22:35

bonjour,
J'ai constaté sur dipiscan que si on prend en main plusieurs machines à la fois, il suffit de taper une seule fois les identifiants de connexion de ses différentes machines (si c'est le même).
Est-ce possible avec wakeonlan ?
(se connecter avec un compte admin sur plusieurs machines simultanément est très confortable...)
Merci d'avance,
Emmanuel

[réponse de damien, le 10/02/2017 à 17h16]

Tu parles de prise de main avec le "Bureau à distance" ?

Je n'ai pas testé mais c'est géré quasiment de la même façon entre les deux applis, alors je serais tenté de te répondre que oui... Et pour le confirmer, tu peux faire l'essai très facilement.


Réaction n°345 

par Jimmy le 23/01/2017 @ 13:37

Bonjour,

Tout d'abord, merci pour votre travail et votre philosophie de partage. Consterné par le nombre de postes restant allumés dans mon entreprise durant le week-end malgré notre charte informatique, j'ai décidé de mettre en place une extinction des postes le vendredi soir et un WOL le lundi matin.

J'ai remarqué dans les commentaires que certains avaient des problèmes à réveiller leur machine. J'ai eu le cas et j'ignore si une solution a été clairement apportée, mais en ce qui me concerne il fallait simplement désactivé le "Deep sleep control" dans le bios de mes machines Dell.

Par ailleurs, ce qui m'a pris le plus de temps c'est de déployer l'activation du WOL dans le bios de chaque PC. J'ignore si ca va intéresser quelqu'un mais dans le doute, voici comment j'ai fait.

GPO 1 (script ps) déploiement du logiciel Dell CCTK (pour manager le bios de PC Dell) :

$Marque1 = Get-WmiObject Win32_computersystem
$Marque2 = $Marque1.manufacturer

If ($Marque2 -eq "Dell Inc.") {
If (-not (Test-Path "C:\Program Files (x86)\Dell\CCTK")) {
& "\\CHEMIN_INSTALL_CCTK\cctk.msi" /quiet}}

GPO 2 (script ps) pour activation du WOL :

If (Test-Path "C:\Users\Public\Desktop\Dell CCTK Configuration Wizard.lnk") {
Remove-item "C:\Users\Public\Desktop\Dell CCTK Configuration Wizard.lnk"}

If (Test-Path "C:\Program Files (x86)\Dell\CCTK") {
If (-not (Test-Path "C:\Program Files\GPO_Run_once\GPO_WOL_applied")) {
cd "C:\Program Files (x86)\Dell\CCTK\X86_64"
& ".\cctk.exe" --wakeonlan=enable
New-Item -Path "C:\Program Files\GPO_Run_once" -Name "GPO_WOL_applied" -ItemType "file"}}

Encore merci, vous allez nous permettre de faire de sacrées économies d'énergie (tant écologiquement qu'économiquement).

[réponse de damien, le 23/01/2017 à 17h40]

Merci à toi également pour le partage de ce retour d'expérience intéressant. Je suis sûr qu'il servira, au moins de base, à d'autres utilisateurs.

PS.: tu glisseras un petit mot en ma faveur à ton contrôleur de gestion en fin d'année, quand il comparera le poste consommation d'énergie par rapport aux années précédentes ! cligne


Réaction n°344 

par AlainClaude le 15/01/2017 @ 13:11

J'ai fait deux copies d'écran du manuel utilisateur  qui semblent expliquer la marche à suivre pour lier durablement une machine qui n'est pas connectée.

http://beauceron-ring.fr/user%20manual%20Archer_C1200%20V1.jpg

http://beauceron-ring.fr/user%20manual%20Archer_C1200%20V2.jpg

Si ça peut aider

[réponse de damien, le 15/01/2017 à 19h52]

Merci, mais je pense que ton message précédent est suffisamment clair.


Réaction n°343 

par AlainClaude le 14/01/2017 @ 18:44

Alors voilà comment j'ai traficoté, bricolé, bidouillé, dans les paramètres de mon routeur, je joins un fichier image dans un lien pour que ce soit plus parlant.

capture_alain_conf_routeur_tplink.jpg

Dans l'onglet Sécurité>Association IP&MAC puis dans  la rubrique Liste d'associations j'ai simplement ajouté l'ip locale de la machine à réveiller ainsi que son adresse MAC. Dans la Liste ARP ça m'a passé le statut de la machine à "Lier".

C'est la dernière modification que j'ai faite et depuis hier je peux réveiller mon NAS quand je veux. Il a redémarré ce matin sans problèmes après 8 heures de coupure. Je viens de vérifier maintenant et ça marche mais uniquement lorsque j'utilise le script de ton hébergeur.

Pour vérifier ça je me suis simplement connecté en wifi sur la connexion de mon téléphone cable ethernet débranché.
Ça fonctionne aussi depuis une appli android et depuis un autre poste en réseau (en wifi sur le téléphone) sous ubuntu.


Pour ce qui est des adresses en dur et des variables % tu as très bien expliqué et j'ai enfin sourire compris. Merci à toi.

Je suis allé voir les paramètres php de online.net et j'ai bien "Sockets support : enabled" donc à ce niveau là ça serait bon.

Voilà j'espère ne pas avoir été trop confus.

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

Merci pour ces explications très claires. Je suis sûr qu'elles seront utiles à d'autres utilisateurs. Est-ce que ta capture d'écran va rester hébergée sur ton site ou dois-je la récupérer.

Sinon, j'ai re-testé mon script et ça fonctionne correctement. Je pense donc qu'il faut creuser côté Online (en contactant la hotline par exemple), même si l'extension est apparemment activée. Quelle est la version de PHP ?


Réaction n°342 

par AlainClaude le 14/01/2017 @ 15:08

Merci Damien pour cette longue réponse très détaillée mais là je pense que l'on commence  toucher le début de mon incompétence quand tu me parles d'adresse en "dur" de php-sockets et de variables %ip%, %mac% %port%.fou. ...mais je vais potasser tout ça promis .

Bien qu'ayant un de mes garçons qui est ingénieur en informatique je suis pour ma part un simple amateur "éclairé".

D'abords ma configuration: 1 Livebox sur laquelle est branché un routeur TP-Link avec 3 ordinateurs dessus en ethernet.(dont le serveur sous Debian/OMV.à réveiller)
Je pense avoir bien reconfiguré toutes les redirections de port puisque je peux y acceder en ftp/ssh/samba.

Donc ce que je veux faire:

Réveiller et accéder à mon NAS en local il n'y pas de problème ça marche  tous les coups.
Réveiller avec le script que tu héberges ça marche aussi très bien. J'ai juste du retoucher la table ARP pour avoir une connexion "persitante". Sinon au bout de 3  à 5 minutes le réveil ne fonctionnait plus.

J'aurais voulu aussi que mes enfants puissent se servir de cette machine pour accéder aux photos de la famille et créer des répertoires pour faire des sauvegardes déportées.

Je voulais simplement installer ton script chez mon hébergeur (online.net) pour le fun mais je crois que je vais devoir abandonnertriste.

Merci encore d'avoir pris le temps de me répondre d'une façon aussi détaillée.

Alain

[réponse de damien, le 14/01/2017 à 16h59]

Pas si débutant que tu sembles le dire, j'ai l'impression. D'ailleurs, si tu peux détailler la manip pour "retoucher la table ARP", je pense que de nombreux utilisateurs seront preneurs de cette information. Car la question du réveil via internet au delà du délai de quelques minutes revient régulièrement. Merci d'avance !

Concernant les adresses "en dur" : dans ton message précédent, tu donnes une url que tu dis avoir renseignée dans la fenêtre de configuration de mon appli. Or, dans cette url tu as spécifié directement les adresses IP et MAC au lieu de les remplacer respectivement par %ip% et %mac% (des "variables"). Du coup, quelle que soit la machine sélectionnée dans l'appli que tu essayes de réveiller via Internet, l'url sera toujours la même donc c'est toujours la même machine qui se réveillera. Alors qu'en utilisant les "variables", l'url qui sera appelée par l'appli sera modifiée "à la volée" en remplaçant les "variables" par les valeurs correspondantes de la machine sélectionnée... Maintenant, si tu veux réveiller une machine via un raccourci ou un favori de navigateur (donc hors de mon appli), alors là il te faudra effectivement utiliser les adresses "en dur" et non les "variables". Est-ce que c'est plus clair expliqué comme ça ?

Enfin, "php_sockets" est une "extension" de PHP qui est nécessaire pour communiquer entre deux machines. C'est grâce à elle que l'on peut envoyer les "magic packets" grâce auxquels le réveil à distance est possible. Pour vérifier si ton hébergeur a activé cette extension, crée un fichier .php contenant la ligne  <?php phpinfo(); ?> , uploade-le sur ton hébergement et appelle-le depuis ton navigateur. Ça devrait t'afficher une page contenant de nombreuses informations parmi lesquelles une entrée "Sockets support : enabled" (ça peut varier selon la version de PHP)...