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 :

Récupérer/vérifier le SSID Wifi de mes clients Windows XP


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Par défaut Récupérer/vérifier le SSID Wifi de mes clients Windows XP
    Hello la compagnie,

    Ma demande est la suivante, je souhaiterais checker sur mon parc de 1000 laptops si tel SSID (appelons le toto2009) est bien présent dans la configuration Wireless du poste.
    Pour cela j’ai pensé à utiliser des composants WMI, mais malheureusement ne répondant pas à mes critères.

    Existe-t-il une méthode quelconque en VBS pour récupérer les ou le spécifique, SSID configuré d’une machine ??
    Pour info, mes clients utilisent le supplicant Wifi intégré à Windows, aucun outil tiers.

    Merci de votre aide.

    Grégory

  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
    Le seul moyen que je vois pour le faire, c'est de récupérer les informations des cartes réseaux du poste local, de détecter s'il y a une carte wifi, et si c'est le cas de récupérer le ssid.
    Je ne vois que 2 solutions :
    - WMI Win32_Network_Manager.
    - Ou créer un Process avec WMI pour lancer un cmd avec en paramètre la commande Ipconfig \all, et redirigé la sortie vers un fichier texte que tu traite ensuite à l'aide des fonctions de chaines de caractères.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Par défaut
    Bonjour et merci pour votre réponse,

    Malheureusement je ne trouve pas d'instance Win32_Network_Manager.
    J'ai apriori testé toutes les instances WMI relatives au Network, sans succès.

    De plus, Ipconfig /all ne renvoie pas le SSID utilisé...

    Une impasse

  4. #4
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Par défaut
    Salut,

    tu peux essayer ca pour voir :

    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
     
    on error resume next
    Private Sub GetWMI(WMIArray, WMIQuery)
    On error resume Next
     
      Set WMIClass = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\wmi")
     
      If not(WMIClass is nothing) Then Set WMIArray = WMIClass.ExecQuery(WMIQuery)
    End Sub
     
     
    Function SSID()
    On error resume Next
     
       Call GetWMI(objMSNdis_80211_ServiceSetIdentifierSet, "Select * from MSNdis_80211_ServiceSetIdentifier Where active=true")
     
      For Each objMSNdis_80211_ServiceSetIdentifier in objMSNdis_80211_ServiceSetIdentifierSet
          ID = ""
     
          For i = 0 to objMSNdis_80211_ServiceSetIdentifier.Ndis80211SsId(0)
              ID = ID & chr(objMSNdis_80211_ServiceSetIdentifier.Ndis80211SsId(i + 4))
          Next
     
          SSID = ID
      Next
    End Function
     
    wscript.echo SSID()
    A++

  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
    Ipconfig /all
    Ha oui dsl.

    Je n'ai qu'une interface wifi sur linux, et sur fedora il faut faire un iwconfig. Mais cela n'a pas l'air d'être cela sur windows et je ne connais pas la commande.

    Pour l'autre point, je me suis trompé, c'est win32_networkmanager.

  6. #6
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Par défaut
    Citation Envoyé par RadPAT Voir le message
    Salut,

    tu peux essayer ca pour voir :

    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
     
    on error resume next
    Private Sub GetWMI(WMIArray, WMIQuery)
    On error resume Next
     
      Set WMIClass = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\wmi")
     
      If not(WMIClass is nothing) Then Set WMIArray = WMIClass.ExecQuery(WMIQuery)
    End Sub
     
     
    Function SSID()
    On error resume Next
     
       Call GetWMI(objMSNdis_80211_ServiceSetIdentifierSet, "Select * from MSNdis_80211_ServiceSetIdentifier Where active=true")
     
      For Each objMSNdis_80211_ServiceSetIdentifier in objMSNdis_80211_ServiceSetIdentifierSet
          ID = ""
     
          For i = 0 to objMSNdis_80211_ServiceSetIdentifier.Ndis80211SsId(0)
              ID = ID & chr(objMSNdis_80211_ServiceSetIdentifier.Ndis80211SsId(i + 4))
          Next
     
          SSID = ID
      Next
    End Function
     
    wscript.echo SSID()
    A++

    RadPAT !! Tu es mon sauveur !! Ca fonctionne ;-))
    Reste juste maintenant à trouver une méthode pour que je puisse requêter derrière avec mon outil d’inventaire. Je pense plutôt que d’afficher le résultat à l’écran, écrire la variable dans le registre et zou !

    Je vais tester tout cela. En tout cas encore un grand merci à toi !!!!

    ++
    Greg

  7. #7
    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
    Pour l'autre point, je me suis trompé, c'est win32_networkmanager.
    Je m'auto corrige parce qu'apparement j'étais encore endormis lorsque j'ai écris cela.
    Cet objet win32 n'existe pas, je voualis en faite parler de :
    Win32_NetworkAdaptateur et l'ensemble des objets Win32_Network...

Discussions similaires

  1. Réponses: 6
    Dernier message: 31/03/2011, 02h23
  2. [CS4] zone modifiable pour mes clients !
    Par jfbeaulieu dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 07/04/2009, 11h44
  3. récupérer infos des connexions wifi
    Par jehrikhan dans le forum C++Builder
    Réponses: 10
    Dernier message: 07/07/2008, 08h12
  4. Réponses: 2
    Dernier message: 13/01/2008, 22h27
  5. CATEGORISER mes clients
    Par kash 30 dans le forum Modélisation
    Réponses: 2
    Dernier message: 07/09/2007, 20h58

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