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 :

lancé nslookup et récupéré résultat dans le vbscript


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Par défaut lancé nslookup et récupéré résultat dans le vbscript
    Bonjou,
    comme je l'indique dans le titre je cherche une solution qui me permette de lancer nslookup avec un script pour pouvoir récupérer le nom de réseau de la machine dont l'ip est passé avec nslookup.

    Je veux récupérer le nom de la machine dans mon script.

    Merci

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Inutile de passer par NSLookUp, tu pe le faire directement en VBS.
    Regarde ici et ici

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Par défaut
    merci je vais y jeter un coup d'oeil

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Par défaut
    bon jarrive à avoir mon nom de poste mais je voudrais récupérer le nom d'un poste du réseau grâce à l'adresse ip.

    code pour avoir mon nom de poste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    strComputer = "."
    Set objWMIService = GetObject( _
        "winmgmts:\\" & strComputer & "\root\cimv2")
    Set colNetCards = objWMIService.ExecQuery _
        ("Select * From Win32_NetworkAdapterConfiguration " _
            & "Where IPEnabled = True")
    For Each objNetCard in colNetCards
        MsgBox objNetCard.DNSHostName
    Next
    merci

  5. #5
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Bon voila un bout de code que j'ai réalisé il y a 6 mois :
    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
    38
    39
    'Récupère l'adresse IP d'un PC à partir de son nom.
    Function GetIpHostByName (Adresse_IP)
    Dim ExitBoucle 'Pour sortir de la boucle une fois que l'adresse IP est trouvé
    Dim IPIndex 'Index de la boucle For
     
    If Not Adresse_IP = "" Then
       IPIndex = 0
       ExitBoucle = False
       'Récupération de la liste des cartes réseaux existantent sur le PC.
       Set objWMIService = GetObject("winmgmts:\\" & Adresse_IP & "\root\cimv2")
       Set IPConfigSet = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where DNSHostName='" & Adresse_IP & "'")
       If Not IPConfigSet.count = 0 Then
          For Each IPConfig in IPConfigSet
             'Pour chaque carte (IPConfig), parcours de la liste des adresses IP (IPAdress, c'est un tableau).
              If Not IsNull(IPConfig.IPAddress) Then
                 For IPIndex=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
                     If Not Adresse_IP = IPConfig.IPAddress(IPIndex) Then 'Sert à vérifier que Adresse_IP ne soit pas déja une Adresse_IP.
                        If UCase(IPConfig.DNSHostName) = UCase(Adresse_IP) Then 'Comme Adresse_IP est un nom, nous pouvons le comparer au DNSHostName.
                           If Not IPConfig.MACAddress = "00:00:00:00:00:00" Then 'Ainsi on s'assure que l'on à bien à faire à une carte reseau non virtuel.
                              Adresse_IP = IPConfig.IPAddress(IPIndex)
                              ExitBoucle = True 'Inutile de parcourir le reste des cartes reseau
                              Exit For
                           End If
                        End If
                     End If
                 Next
              End If
              If ExitBoucle = True Then
                 Exit For
              End If
          Next
       End If
       Set objWMIService = Nothing
       Set IPConfigSet = Nothing
       GetIpHostByName = Adresse_IP
    Else
       GetIpHostByName = ""
    End If
    End Function
    Cela fait l'inverse de ce que tu veux, à partire d'un nom DNS, je retrouve l'adresse IP.
    Mais bon cela ne doit pas être trop compliquer de faire l'inverse en s'inspirant de code. Il faut jouer avec les attributs de Win32_NetworkAdapterConfiguration et la methode ExecQuery.

    Ha oui juste une chose, ma variable contenu le nom DNS s'appelle Adresse_IP. Je sais un peu surprenant mais ce serais chiant si on ne se compliqué pas la vie

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Par défaut
    en fait je comprends très bien ton code mais d'abord je ne sais pas si je peux faire un "getObject avec l'adresse ip" toi tu le fais avec le nom de de la machine, moi ca ne fonctionne pas avec l'adress ip.

    Sinon j'ai essayé de faire un "objWMIService.execQuery" avec "where Adress=ip"
    ip c'est l'adresse ip du poste dont je veux le nom.
    Quand j'essaie ca déjà il ne le bouffe, problème de guillemets je pense mais si je passe par une variable intermédiaire comme tu l'as fait il ne bouffe pas non plus et m'indique une erreur au premier caractère de la ligne suivante.

Discussions similaires

  1. Exporter résultats dans fichier excel [forms 6i]
    Par OUALASS dans le forum Forms
    Réponses: 4
    Dernier message: 30/05/2006, 19h38
  2. [cURL] Lecture du résultat dans le Header
    Par loukili81 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 19/05/2006, 11h25
  3. Résultat dans un ÉTAT
    Par virtuose dans le forum IHM
    Réponses: 1
    Dernier message: 05/05/2006, 21h28
  4. Réponses: 5
    Dernier message: 16/02/2006, 16h06
  5. Résultats dans une même colonne.
    Par souellet dans le forum Langage SQL
    Réponses: 6
    Dernier message: 10/03/2004, 19h51

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