IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Automatisation telnet et copie vers fichier text


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 17
    Par défaut Automatisation telnet et copie vers fichier text
    Bonjour j'ai parcouru le forum sans succès j'ai un problème à résoudre très vite j'espère trouver une solution. Voici ma préoccupation, j'ai écrit un script qui automatise le telnet, mais je n'arrive pas à mettre le résultat dans un fichier texte et je doit aussi préciser que le script ne se ferme pas après exécution voici le script en question, il est long donc je le réduit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Dim objShell 
    Set objShell = CreateObject("WScript.Shell") 
    objShell.Run "C:\Windows\System32\telnet.exe 10.10.3.1",,False 
    WScript.Sleep 100
    objShell.SendKeys "admin~" 
    WScript.Sleep 100
    objShell.SendKeys "1" 
    WScript.Sleep 100
    objShell.SendKeys "1~" 
    WScript.Sleep 100
    objShell.SendKeys "4" 
    WScript.Sleep 100
    objShell.SendKeys "2" 
    WScript.Sleep 100
    objShell.SendKeys "1~" 
    WScript.Sleep 100
    objShell.SendKeys "^z" 
    WScript.Sleep 100
    objShell.SendKeys "1"
    WScript.Sleep 100
    objShell.SendKeys "4"
    WScript.Sleep 100
    objShell.SendKeys "3"
    WScript.Sleep 100
    objShell.SendKeys "1"
    WScript.Sleep 100
    objShell.SendKeys "^z"
    WScript.Sleep 100
    objShell.SendKeys "1"
    WScript.Sleep 100
    objShell.SendKeys "4"
    WScript.Sleep 100
    objShell.SendKeys "3"
    WScript.Sleep 100
    objShell.SendKeys "1"
    WScript.Sleep 100
    objShell.SendKeys "^z"
    J'attend vos réactions merci d'avance

  2. #2
    Membre expérimenté
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 163
    Par défaut
    Bonjour,
    Il me semble que l'option -f de telnet permet de créer un fichier log :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objShell.Run "C:\Windows\System32\telnet.exe 10.10.3.1 -f log.txt",False
    Edit : Ah j'ai raté la deuxième partie de la question !
    Personnellement je terminerai le script par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objShell.SendKeys "exit~"

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 17
    Par défaut
    Citation Envoyé par Cachlab Voir le message
    Bonjour,
    Il me semble que l'option -f de telnet permet de créer un fichier log :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objShell.Run "C:\Windows\System32\telnet.exe 10.10.3.1 -f log.txt",False
    Edit : Ah j'ai raté la deuxième partie de la question !
    Personnellement je terminerai le script par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objShell.SendKeys "exit~"
    Merci ça marche très bien mais j'ai réussi à sortir du telnet d'une autre manière.
    j'ai une autre préoccupation j'ai en fait 61 fichiers textes qui doivent être créé à partir de 61 adresses IP différentes par exemple,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    10.10.3.1, 10.10.3.2, 10.10.5.1, 10.10.1, 10.10.7.5, 10.10.8.9
    comme ça 61 adresses IP diférentes et qui ne sont pas dans un ordre défini, ma préoccupation est la suivante, est ce que je dois faire 61 script différents ? parce que j'ai envie de les exécuter tous pour ensuite pouvoir les traiter

  4. #4
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    est ce que je dois faire 61 script différents ? parce que j'ai envie de les exécuter tous pour ensuite pouvoir les traiter
    Non, il suffit de les placer dans un fichier .txt une IP par ligne puis lire le fichier ligne par ligne qu'on passera en argument tel que :
    objShell.Run "C:\Windows\System32\telnet.exe Lecture",,False.
    "Lecture" étant la ligne lue. Il va de soit qu'il faut boucler sur la lecture et son traitement.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  5. #5
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    ou bien vous pouvez faire d'une façon plus générale :
    Par exemple vous avez un fichier nommé : Listeip.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    10.10.3.1,10.10.3.2,10.10.5.1,10.10.1,10.10.7.5,10.10.8.9,10.10.8.10,10.10.8.11,10.10.8.12,10.10.8.13,10.10.8.14,10.10.8.15,10.10.8.16,10.10.8.17,10.10.8.18
     
     
    127.0.0.1
    192.168.1.2
    192.777.888.1 ==> Ip Non Valide
    et le script pour extraire les ip valides et les traiter une par une :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Titre = "Adresse IP"
    Set oFso = CreateObject("Scripting.FileSystemObject")
    If oFso.FileExists("Listeip.txt") Then
        Set f = oFso.OpenTextFile("Listeip.txt",1)
        Data = f.ReadAll
        f.Close
    Else
        MsgBox "une erreur s'est produite lors de la lecture du fichier Listeip.txt",16,"Erreur de Lecture du fichier"
    End If
    Set objRegex = new RegExp
    objRegex.Pattern = "\b((25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(25[0-5]|2[0-4]\d|1?\d?\d)\b"
    objRegex.Global = True
    objRegex.IgnoreCase = True
    Set Matches = objRegex.Execute(Data)
    For Each Match in Matches 
        MsgBox " objShell.Run C:\Windows\System32\telnet.exe " & Match.value & " -f log.txt",64,Titre
    Next

  6. #6
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 17
    Par défaut
    rien ne fonctionne actuellement, je voudrais préciser que je voudrais avoir 61 fichier différent pour chaque adresse IP, pour le traitement qui sera enregistré dans la base de données

Discussions similaires

  1. Exporter Recordset vers fichier texte
    Par aures64 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/11/2006, 02h25
  2. [XSLT] transformation xml vers fichier .text !
    Par kader78190 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 03/11/2006, 12h45
  3. Export Table Acces vers fichier Texte
    Par ston dans le forum Access
    Réponses: 2
    Dernier message: 04/04/2006, 17h21
  4. SQL vers Fichier Texte
    Par annedjomo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 24/11/2005, 11h47
  5. Export vers fichier text
    Par Aurèl90 dans le forum Access
    Réponses: 10
    Dernier message: 26/10/2005, 10h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo