[Ex] Script utilitaire de Wake On Lan

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
manner
Niveau 2
Niveau 2
Messages : 15
Enregistré le : sam. 30 janv. 2010 13:18
Status : Hors ligne

Re: [Ex] Script utilitaire de Wake On Lan

#21

Message par manner »

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.
pierrotm777
Membre émérite
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

#22

Message par pierrotm777 »

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.
pierrotm777
Membre émérite
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

#23

Message par pierrotm777 »

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)
manner
Niveau 2
Niveau 2
Messages : 15
Enregistré le : sam. 30 janv. 2010 13:18
Status : Hors ligne

Re: [Ex] Script utilitaire de Wake On Lan

#24

Message par manner »

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
Fichiers joints
wol_autoit_txt.au3
(30.5 Kio) Téléchargé 354 fois
wol_autoit.au3
(27.22 Kio) Téléchargé 383 fois
Modifié en dernier par manner le mer. 29 sept. 2010 18:19, modifié 16 fois.
pierrotm777
Membre émérite
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

#25

Message par pierrotm777 »

Pourtant, j'avais une inversion des ip avec les mac à chaque modif !

Merci encore pour cette évolution
manner
Niveau 2
Niveau 2
Messages : 15
Enregistré le : sam. 30 janv. 2010 13:18
Status : Hors ligne

Re: [Ex] Script utilitaire de Wake On Lan

#26

Message par manner »

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
pierrotm777
Membre émérite
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

#27

Message par pierrotm777 »

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).
manner
Niveau 2
Niveau 2
Messages : 15
Enregistré le : sam. 30 janv. 2010 13:18
Status : Hors ligne

Re: [Ex] Script utilitaire de Wake On Lan

#28

Message par manner »

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"
pierrotm777
Membre émérite
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

#29

Message par pierrotm777 »

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
manner
Niveau 2
Niveau 2
Messages : 15
Enregistré le : sam. 30 janv. 2010 13:18
Status : Hors ligne

Re: [Ex] Script utilitaire de Wake On Lan

#30

Message par manner »

Bonjour,

Merci pour ces explications, je ne connaissais par l'existence de ces équipements.

Cordialement
manner
Niveau 2
Niveau 2
Messages : 15
Enregistré le : sam. 30 janv. 2010 13:18
Status : Hors ligne

Re: [Ex] Script utilitaire de Wake On Lan

#31

Message par manner »

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"
pierrotm777
Membre émérite
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

#32

Message par pierrotm777 »

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.

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
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
Modifié en dernier par pierrotm777 le dim. 16 mai 2010 17:35, modifié 1 fois.
manner
Niveau 2
Niveau 2
Messages : 15
Enregistré le : sam. 30 janv. 2010 13:18
Status : Hors ligne

Re: [Ex] Script utilitaire de Wake On Lan

#33

Message par manner »

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
pierrotm777
Membre émérite
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

#34

Message par pierrotm777 »

Du genre vnc ou logme ?

Ok je vois

Vous avez mis à jour par une autre version ?

Merci
manner
Niveau 2
Niveau 2
Messages : 15
Enregistré le : sam. 30 janv. 2010 13:18
Status : Hors ligne

Re: [Ex] Script utilitaire de Wake On Lan

#35

Message par manner »

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

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
Le code corrigé pour ne retourner que le nombre de caractères nécessaires

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
Cordialement
pierrotm777
Membre émérite
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

#36

Message par pierrotm777 »

Merci bien pour les corrections.

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' !")
Voilà ce que cela donne dans RideRunner !
http://www.mp3car.com/vbulletin/rr-plug ... ost1390790
Tout, sauf le shutdown, semble marcher.

Génial
Avatar du membre
xeno
Niveau 4
Niveau 4
Messages : 79
Enregistré le : sam. 23 mai 2009 02:43
Status : Hors ligne

Re: [Ex] Script utilitaire de Wake On Lan

#37

Message par xeno »

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.
vince59
Niveau 2
Niveau 2
Messages : 22
Enregistré le : dim. 09 janv. 2011 20:24
Status : Hors ligne

Re: [Ex] Script utilitaire de Wake On Lan

#38

Message par vince59 »

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 :
► Afficher le texte
Par celui-ci qui utilise les expressions régulières et qui est plus lisible :
► Afficher le texte
Répondre