[Ex] Script utilitaire de Wake On Lan
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
Re: [Ex] Script utilitaire de Wake On Lan
Bonjour,
L'adresse mac peut-être écrite des deux manières "-" ou ":" le script le met en forme de manière justement à retirer les deux caractères s'ils existent dans la chaîne.
Cordialement
PS:
Concernant les sujets précédents: détection de démarrage je ne pense pas qu'il soit possible de le détecter sur des postes de travail classiques, il existe pour les serveurs des cartes de supervision, qui permettent qui plus est de se passer de Wake on lan puisqu'au travers de ces dernières il est possible de gérer l'arrêt le démarrage ou le redémarrage du serveur sans passer par l'OS y compris l'accès au bios du serveur. (Carte ILO pour HP, BMC/DRAC pour Dell).
Concernant le wake on wan, je ne pense pas qu'il y ait de solution sur base de wake on lan, ceci dit je ne suis pas formel je ne suis pas assez calé sur la question.
Par contre une solution qui peut être utilisée, elle vaut ce qu'elle vaut, c'est de mettre en œuvre un programme de wake on lan sur un poste ou un serveur positionné dans le lan où l'on souhaite démarrer les machines, puis par une prise en main à distance du type Bureau à distance d'exécuter le programme afin de démarrer le poste de travail situé sur le réseau distant.
L'adresse mac peut-être écrite des deux manières "-" ou ":" le script le met en forme de manière justement à retirer les deux caractères s'ils existent dans la chaîne.
Cordialement
PS:
Concernant les sujets précédents: détection de démarrage je ne pense pas qu'il soit possible de le détecter sur des postes de travail classiques, il existe pour les serveurs des cartes de supervision, qui permettent qui plus est de se passer de Wake on lan puisqu'au travers de ces dernières il est possible de gérer l'arrêt le démarrage ou le redémarrage du serveur sans passer par l'OS y compris l'accès au bios du serveur. (Carte ILO pour HP, BMC/DRAC pour Dell).
Concernant le wake on wan, je ne pense pas qu'il y ait de solution sur base de wake on lan, ceci dit je ne suis pas formel je ne suis pas assez calé sur la question.
Par contre une solution qui peut être utilisée, elle vaut ce qu'elle vaut, c'est de mettre en œuvre un programme de wake on lan sur un poste ou un serveur positionné dans le lan où l'on souhaite démarrer les machines, puis par une prise en main à distance du type Bureau à distance d'exécuter le programme afin de démarrer le poste de travail situé sur le réseau distant.
-
- Membre émérite
- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [Ex] Script utilitaire de Wake On Lan
Merci manner pour cette réponse qui me convient tout à fait.
Pour l'extinction d'un pc à distance , une solution par ligne de commande ou un petit script autoit me conviendrait tout à fait.
Pour l'extinction d'un pc à distance , une solution par ligne de commande ou un petit script autoit me conviendrait tout à fait.
-
- Membre émérite
- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [Ex] Script utilitaire de Wake On Lan
Je ne jurerais pas mais je crois bien ques les varaibles ip et mac dans l'option modifier ont été inversées.
J'ai modifier les lignes suivantes :
$modifip = StringMid($modif, $val2 + 1, ($val4 - $val2) - 1)
$modif_mac = StringMid($modif, $val4 + 1, StringLen($modif))
par
$modifip = StringMid($modif, $val4 + 1, StringLen($modif))
$modif_mac = StringMid($modif, $val2 + 1, ($val4 - $val2) - 1)
J'ai modifier les lignes suivantes :
$modifip = StringMid($modif, $val2 + 1, ($val4 - $val2) - 1)
$modif_mac = StringMid($modif, $val4 + 1, StringLen($modif))
par
$modifip = StringMid($modif, $val4 + 1, StringLen($modif))
$modif_mac = StringMid($modif, $val2 + 1, ($val4 - $val2) - 1)
Re: [Ex] Script utilitaire de Wake On Lan
Bonjour,
Pour répondre à pierrotm777, je ne pense pas avoir fait d'erreur, d'ailleurs j'avais testé la fonctionnalité avant de mettre le script à disposition.
Dans la nouvelle version (avec stockage des données dans un fichier texte), j'ai commenté le code correspondant à la fonction des modifications de données existantes.
Ceci dit je viens de faire évoluer le script avec des fonctions supplémentaires:
- Nbtstat du poste
- Indication dans la listview si le poste est en ligne ou non
- Bouton Actualiser pour rafraîchir la listview.
- (Pour pierrotm777) une commande d'arrêt du poste
- Possibilité de scanner une plage d'adresse du réseau, et d'ajout des postes découverts à la liste des postes disponibles.
J'ai fait évoluer les deux versions, sur base de fichier MsAccess et fichier texte.
Concernant la version fichier access il faut ajouter une table scan qui sera identique à la table wol. Dans cette table scan seront stockées les données issues du scan du réseau. Pour la version à fichier texte il n'y a rien à faire, le fichier scan.txt sera créé automatiquement.
Je joins les deux scripts et je vais supprimer ceux que j'avais joint dans mes messages précédents.
Cordialement
Pour répondre à pierrotm777, je ne pense pas avoir fait d'erreur, d'ailleurs j'avais testé la fonctionnalité avant de mettre le script à disposition.
Dans la nouvelle version (avec stockage des données dans un fichier texte), j'ai commenté le code correspondant à la fonction des modifications de données existantes.
Ceci dit je viens de faire évoluer le script avec des fonctions supplémentaires:
- Nbtstat du poste
- Indication dans la listview si le poste est en ligne ou non
- Bouton Actualiser pour rafraîchir la listview.
- (Pour pierrotm777) une commande d'arrêt du poste
- Possibilité de scanner une plage d'adresse du réseau, et d'ajout des postes découverts à la liste des postes disponibles.
J'ai fait évoluer les deux versions, sur base de fichier MsAccess et fichier texte.
Concernant la version fichier access il faut ajouter une table scan qui sera identique à la table wol. Dans cette table scan seront stockées les données issues du scan du réseau. Pour la version à fichier texte il n'y a rien à faire, le fichier scan.txt sera créé automatiquement.
Je joins les deux scripts et je vais supprimer ceux que j'avais joint dans mes messages précédents.
Cordialement
- Fichiers joints
-
- wol_autoit_txt.au3
- (30.5 Kio) Téléchargé 359 fois
-
- wol_autoit.au3
- (27.22 Kio) Téléchargé 388 fois
Modifié en dernier par manner le mer. 29 sept. 2010 18:19, modifié 16 fois.
-
- Membre émérite
- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [Ex] Script utilitaire de Wake On Lan
Pourtant, j'avais une inversion des ip avec les mac à chaque modif !
Merci encore pour cette évolution
Merci encore pour cette évolution
Re: [Ex] Script utilitaire de Wake On Lan
Bonjour,
C'est curieux, j'ai fait de nombreux essais mais je n'ai pas eu d'inversion. Que ce soit en ajout ou modification.
Cette inversion apparaissait-elle dans la listview? ou bien dans le formulaire de saisie ou dans les deux?
Tenez moi au courant si le problème persiste dans la nouvelle version.
Cordialement
C'est curieux, j'ai fait de nombreux essais mais je n'ai pas eu d'inversion. Que ce soit en ajout ou modification.
Cette inversion apparaissait-elle dans la listview? ou bien dans le formulaire de saisie ou dans les deux?
Tenez moi au courant si le problème persiste dans la nouvelle version.
Cordialement
-
- Membre émérite
- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [Ex] Script utilitaire de Wake On Lan
Pour tout vous dire, j'adapte votre script à a Frontend pour Carpc nommé RideRunner.
Et à chaque lecture des champs ip et mac , j'avais déjà l'inversion !
(testé avec une messagebox juste aprés les variables).
Et à chaque lecture des champs ip et mac , j'avais déjà l'inversion !
(testé avec une messagebox juste aprés les variables).
Re: [Ex] Script utilitaire de Wake On Lan
Bonjour,
J'ai réfléchi au problème, la seule explication que je peux donner à l'inversion, c'est l'inversion dans la listview des colonnes ip et Mac adresse.
Dans la fonction RempliListe(), il y a:
GUICtrlCreateListViewItem($Netbios & "|" & $IPAddress & "|" & $MACAddresse, $listwake)
Si on écrit
GUICtrlCreateListViewItem($Netbios & "|" & $MACAddresse & "|" & $IPAddress, $listwake)
alors effectivement dans le formulaire de saisie permettant la modification des informations l'adresse ip se trouve dans le champ Mac adresse et le champ adresse ip est vide car le format de l'adresse mac n'est pas en conformité avec un IP Adress control.
Quoi qu'il en soit, comme j'ai coutume de dire, "l'essentiel est que cela fonctionne".
Cordialement
PS: Je n'ai aucune idée de ce que peut être "Frontend pour Carpc nommé RideRunner"
J'ai réfléchi au problème, la seule explication que je peux donner à l'inversion, c'est l'inversion dans la listview des colonnes ip et Mac adresse.
Dans la fonction RempliListe(), il y a:
GUICtrlCreateListViewItem($Netbios & "|" & $IPAddress & "|" & $MACAddresse, $listwake)
Si on écrit
GUICtrlCreateListViewItem($Netbios & "|" & $MACAddresse & "|" & $IPAddress, $listwake)
alors effectivement dans le formulaire de saisie permettant la modification des informations l'adresse ip se trouve dans le champ Mac adresse et le champ adresse ip est vide car le format de l'adresse mac n'est pas en conformité avec un IP Adress control.
Quoi qu'il en soit, comme j'ai coutume de dire, "l'essentiel est que cela fonctionne".
Cordialement
PS: Je n'ai aucune idée de ce que peut être "Frontend pour Carpc nommé RideRunner"
-
- Membre émérite
- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [Ex] Script utilitaire de Wake On Lan
Un Frontend est un programme qui en regroupe plusieurs fonction:
-lecteur audio
-lecteur video
-météo
-fonction OBD (lecture des données moteurs)
-gps
-gestion plugins possible
-skin éditables
-etc...
Les plus connus:Centrafuse 3.0 , RideRunner
Lien pour RideRunner: http://www.nisuautomotive.com/catalog/
Le lien pour Centrafuse: http://www.centrafuse.com/
Un Carpc est un ordinateur pc dédié aux voitures
-lecteur audio
-lecteur video
-météo
-fonction OBD (lecture des données moteurs)
-gps
-gestion plugins possible
-skin éditables
-etc...
Les plus connus:Centrafuse 3.0 , RideRunner
Lien pour RideRunner: http://www.nisuautomotive.com/catalog/
Le lien pour Centrafuse: http://www.centrafuse.com/
Un Carpc est un ordinateur pc dédié aux voitures
Re: [Ex] Script utilitaire de Wake On Lan
Bonjour,
Merci pour ces explications, je ne connaissais par l'existence de ces équipements.
Cordialement
Merci pour ces explications, je ne connaissais par l'existence de ces équipements.
Cordialement
Re: [Ex] Script utilitaire de Wake On Lan
Bonjour,
J'ai mis à disposition une nouvelle version des scripts corrigeant quelques erreurs + un scan exhaustif du réseau. Dans le cas d'un équipement réseau non Windows ou qui n'est pas un poste de travail une ligne "Nom inconnu" est créée avec l'adresse ip correspondante.
J'ai remplacé les fichiers du message du Sam 15 Mai 2010 17:37 par les nouveaux fichiers.
Cordialement
PS:
Pour la version access, si vous avez défini le champ Netbios en clé primaire, il faut supprimer cette option en effet il y a risque de doublon avec l'ajout d'équipements portant tous le nom "Nom inconnu" et ceci pour les 2 tables "wol" et "scan"
J'ai mis à disposition une nouvelle version des scripts corrigeant quelques erreurs + un scan exhaustif du réseau. Dans le cas d'un équipement réseau non Windows ou qui n'est pas un poste de travail une ligne "Nom inconnu" est créée avec l'adresse ip correspondante.
J'ai remplacé les fichiers du message du Sam 15 Mai 2010 17:37 par les nouveaux fichiers.
Cordialement
PS:
Pour la version access, si vous avez défini le champ Netbios en clé primaire, il faut supprimer cette option en effet il y a risque de doublon avec l'ajout d'équipements portant tous le nom "Nom inconnu" et ceci pour les 2 tables "wol" et "scan"
-
- Membre émérite
- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [Ex] Script utilitaire de Wake On Lan
OOps , je sais plus où j'en suis.
Pouvais vous me dire quelles lignes étaient fausses et celle ajoutées ?
J'ai un petit souci avec le fichier wol.txt généré aprés le scan et un ajout. Je me retrouve avec 3 espaces aprés le Netbios et la première virgule et n'arrive pas à comprendre d'où cela peut bien venir.
Le programme fonctionne t'il au travers d'une box ou d'un routeur ?
Nota:J'ai trouvé les différences avec Notepad++ et suis à jour !
Merci
Pouvais vous me dire quelles lignes étaient fausses et celle ajoutées ?
J'ai un petit souci avec le fichier wol.txt généré aprés le scan et un ajout. Je me retrouve avec 3 espaces aprés le Netbios et la première virgule et n'arrive pas à comprendre d'où cela peut bien venir.
Code : Tout sélectionner
PIERROTM ,00-00-4D-4C-00-75,192.168.0.1
PIERROTM ,00-1B-00-C6-00-EF,192.168.0.10
CARPC,01-02-03-04-05,192.168.1.101
ETHERNETPM,00-1A-00-4C-56-75,192.168.0.1
HOME,05-04-03-02-01,122.122.122.122
WIFIPM,00-1B-00-C6-00-EF,192.168.0.10
Nota:J'ai trouvé les différences avec Notepad++ et suis à jour !
Merci
Modifié en dernier par pierrotm777 le dim. 16 mai 2010 17:35, modifié 1 fois.
Re: [Ex] Script utilitaire de Wake On Lan
Bonjour
Pour la version "wol_autoit_txt.au3"
création du fichier wol.txt s'il n'existe pas (lignes 16 à 20)
$cmdSuppr (216 à 229)
La fonction Supprime (785 à 823)
pour la fonction Scan() (lignes 584 à 591)
pour la fonction Ajout (lignes 435 à 444)
En faisant le bilan des lignes impactées, cela m'a permis de trouver encore des erreurs et omissions, notamment dans la fonction Ajout.
C'est le fait de faire un scan exhaustif du réseau qui génère des lignes "Nom inconnu" qui font que les modifications ou suppression de lignes doivent être basées sur l'adresse ip et non plus sur le nom Netbios ce dernier n'étant plus unique dans la liste par contre l'adresse ip elle est unique. J'aurais d'ailleurs du me baser la dessus dés le départ, mais à ce moment là je ne pansais pas faire de scan exhaustif.
Compte tenu des modifications je vais remplacer les fichiers joints
Concernant les espaces je n'ai pas d'explication.
Concernant le routeur, la réponse est dans un message précédent, le seul moyen que je connaisse c'est d'exécuter le programme depuis un poste situé sur le réseau distant par une prise à main à distance du type bureau à distance ou VNC, le wake on lan fonctionne sur le réseau considéré et non pas depuis un réseau distant.
Cordialement
Pour la version "wol_autoit_txt.au3"
création du fichier wol.txt s'il n'existe pas (lignes 16 à 20)
$cmdSuppr (216 à 229)
La fonction Supprime (785 à 823)
pour la fonction Scan() (lignes 584 à 591)
pour la fonction Ajout (lignes 435 à 444)
En faisant le bilan des lignes impactées, cela m'a permis de trouver encore des erreurs et omissions, notamment dans la fonction Ajout.
C'est le fait de faire un scan exhaustif du réseau qui génère des lignes "Nom inconnu" qui font que les modifications ou suppression de lignes doivent être basées sur l'adresse ip et non plus sur le nom Netbios ce dernier n'étant plus unique dans la liste par contre l'adresse ip elle est unique. J'aurais d'ailleurs du me baser la dessus dés le départ, mais à ce moment là je ne pansais pas faire de scan exhaustif.
Compte tenu des modifications je vais remplacer les fichiers joints
Concernant les espaces je n'ai pas d'explication.
Concernant le routeur, la réponse est dans un message précédent, le seul moyen que je connaisse c'est d'exécuter le programme depuis un poste situé sur le réseau distant par une prise à main à distance du type bureau à distance ou VNC, le wake on lan fonctionne sur le réseau considéré et non pas depuis un réseau distant.
Cordialement
-
- Membre émérite
- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [Ex] Script utilitaire de Wake On Lan
Du genre vnc ou logme ?
Ok je vois
Vous avez mis à jour par une autre version ?
Merci
Ok je vois
Vous avez mis à jour par une autre version ?
Merci
Re: [Ex] Script utilitaire de Wake On Lan
Bonjour,
Effectivement j'ai remplacé les fichiers du message du Sam 15 Mai 2010 17:37 par les fichiers corrigés en espérant que je n'ai rien oublié modifier deux versions en parallèle n'est pas commode, difficile de ne rien oublier.
Une remarque concernant l'extrait du fichier wol.txt j'ai vu que certaines adresses ip sont en double, en principe il n'ya pas de doublons d'adresse ip possible dans un lan, je suis parti de ce principe pou gérer l'ajout, la modification et le scan du réseau, comme je l'ai indiqué dans mon message précédent.
Si vous modifiez une ligne qui comporte un doublon d'adresse ip les deux lignes seront modifiées.
En ce qui concerne les espaces aprés le nom netbios j'ai trouvé le pourquoi.
En effet je fais une extraction depuis le fichier result.txt qui est généré par un nbtsat redirigé vers ce fichier or dans mon code je retourne les 11 premiers caractères de la ligne qui contient le nom netbios donc si ce dernier comporte moins de onze caractères, les caractères manquant sont remplacé par de espaces vides et sont donc écrits dans le fichier de scan.
Ci dessous le code d'origine
Le code corrigé pour ne retourner que le nombre de caractères nécessaires
Cordialement
Effectivement j'ai remplacé les fichiers du message du Sam 15 Mai 2010 17:37 par les fichiers corrigés en espérant que je n'ai rien oublié modifier deux versions en parallèle n'est pas commode, difficile de ne rien oublier.
Une remarque concernant l'extrait du fichier wol.txt j'ai vu que certaines adresses ip sont en double, en principe il n'ya pas de doublons d'adresse ip possible dans un lan, je suis parti de ce principe pou gérer l'ajout, la modification et le scan du réseau, comme je l'ai indiqué dans mon message précédent.
Si vous modifiez une ligne qui comporte un doublon d'adresse ip les deux lignes seront modifiées.
En ce qui concerne les espaces aprés le nom netbios j'ai trouvé le pourquoi.
En effet je fais une extraction depuis le fichier result.txt qui est généré par un nbtsat redirigé vers ce fichier or dans mon code je retourne les 11 premiers caractères de la ligne qui contient le nom netbios donc si ce dernier comporte moins de onze caractères, les caractères manquant sont remplacé par de espaces vides et sont donc écrits dans le fichier de scan.
Ci dessous le code d'origine
Code : Tout sélectionner
;Recherche de la ligne <00> UNIQUE
if StringMid($Arrnbtstat[$k],20,12) = "<00> UNIQUE" then
;Lecture de la ligne
$Netbiosname = StringMid($Arrnbtstat[$k],5,11)
endif
Code : Tout sélectionner
;Recherche de la ligne <00> UNIQUE
if StringMid($Arrnbtstat[$k],20,12) = "<00> UNIQUE" then
;Lecture de la ligne
$pos = StringInStr($Arrnbtstat[$k], "<",0,1)
$Net = Stringleft($Arrnbtstat[$k], $pos - 1)
$Netbiosname = StringStripWS($Net, 3)
endif
-
- Membre émérite
- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [Ex] Script utilitaire de Wake On Lan
Merci bien pour les corrections.
J'ai, pour ma part ajouté ce message en ligne 689:
Voilà ce que cela donne dans RideRunner !
http://www.mp3car.com/vbulletin/rr-plug ... ost1390790
Tout, sauf le shutdown, semble marcher.
Génial
J'ai, pour ma part ajouté ce message en ligne 689:
Code : Tout sélectionner
global $CountScan = _FileCountLines(@ScriptDir & "\scan.txt")
msgbox(0,"Message !",$CountScan& " ont été ajouté's' !")
http://www.mp3car.com/vbulletin/rr-plug ... ost1390790
Tout, sauf le shutdown, semble marcher.
Génial
Re: [Ex] Script utilitaire de Wake On Lan
moi il me dit que je ne suis pas connecté au réseau, pourtant j'accède au forum..
peut être parce que j'ai deux cartes réseau sur ma carte mère, et du coup il n'intérroge pas la bonne...
pour l'os je suis sous seven x64.
peut être parce que j'ai deux cartes réseau sur ma carte mère, et du coup il n'intérroge pas la bonne...
pour l'os je suis sous seven x64.
Re: [Ex] Script utilitaire de Wake On Lan
Bonjour,
Pour la lecture du résultat de la commande nbstat, je propose l'amélioration suivante si ce n'est pas trop tard :
Remplacer le code suivant :
Par celui-ci qui utilise les expressions régulières et qui est plus lisible :
Pour la lecture du résultat de la commande nbstat, je propose l'amélioration suivante si ce n'est pas trop tard :
Remplacer le code suivant :
► Afficher le texte
► Afficher le texte