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

Scripts/Batch Discussion :

Recuperer l'adresse mac de la machine


Sujet :

Scripts/Batch

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 228
    Par défaut Recuperer l'adresse mac de la machine
    Bonjour a tous

    je suis entrain de faire un script powershell et j'ai besoin de récupérer l'adresse mac de la machine

    j'arrive a recuper l'adresse ip
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((ipconfig | findstr [0-9].\.)[0]).Split()[-1]
    mais pas l'adresse mac

    je dois deja passer en ipconfig /all pour avoir l'adresse mac mais je sais pas comment la recuperer pour la mettre dans une variable
    pouvez vous m'aider ?.

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut [BAT] Récuperer l'adresse MAC
    Tu peux utiliser la commande getmac.

    example en bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    setlocal enabledelayedexpansion
    set $c=1
    for /f "skip=3 tokens=1-6 delims=- " %%a in ('getmac.exe') do (
      set #$mac!$c!=%%a-%%b-%%c-%%d-%%e-%%f
      set /a $c+=1)
    
    set #
    Tu peux ensuite utiliser la la ou les variable %#$mac1% à %#$macN% (si tu as plus d'une adresse MAC)

    Ou si tu veux quelque chose de plus detaillé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    setlocal enabledelayedexpansion
    set $c=1
    for /f "tokens=1-4 delims=," %%a in ('getmac /fo csv /nh /v') do (
      set #$ConectionType!$c!=%%a
      set #$DeviceName!$c!=%%b
      set #$MAC!$c!=%%c
      set #$Statut!$c!=%%d
      set /a $c+=1)
    
    set #
    Ou tu peux récuperer les informations relatives à %#$MAC1% dans %#$ConectionType1%, %#$DeviceName1%, %#$Statut1%
    la même chose pour %#$MAC2% etc...


  3. #3
    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
    SACHA
    C'est quoi le caractère # dans ton code ?

  4. #4
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    C'est quoi le caractère # dans ton code ?
    C'est juste une astuce pour différencier des variables, et les réutiliser en utilisant un :


  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 228
    Par défaut
    je recupere bien l'adresse mac via ton script .bat sauf que je souhaite le faire via un script powershell

  6. #6
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par vodkline Voir le message
    je recupere bien l'adresse mac via ton script .bat sauf que je souhaite le faire via un script powershell
    Surtout que ton post est taggé [Powershell]
    A défaut de te proposer une solution en assembleur, tu peux regarder du côté des classes WMI : Win32_NetworkAdapterConfiguration.
    Voir aussi.

  7. #7
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Citation Envoyé par Laurent Dardenne Voir le message
    Surtout que ton post est taggé [Powershell]
    A défaut de te proposer une solution en assembleur, tu peux regarder du côté des classes WMI : Win32_NetworkAdapterConfiguration.
    Voir aussi.
    Juste pour ton INFO getmac.exe fonctionne très bien sous PS

    http://technet.microsoft.com/en-us/l.../bb490913.aspx

  8. #8
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par sachadee Voir le message
    Juste pour ton INFO getmac.exe fonctionne très bien sous PS
    Oui vodkline le confirme. A mon avis, il est préférable d'éviter tant que faire se peut le parsing de chaîne sous Powershell.

    Pour info :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Suspend-Service Winmgmt
    getmac
    #Erreur : Échec de l'exécution du serveur
    
    Resume-Service Winmgmt
    getmac
    
    # Adresse physique    Nom du transport
    # =================== ==========================================================
    # 00-81-33-fB-16-b5   Support déconnecté 
    #...

  9. #9
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Bonjour,

    En repartant sur le conseil de Laurent Dardenne et des objets WMI, voici comment on peut récupérer l'adresse MAC des cartes réseau "actives" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $netadapteripenabled = Get-WmiObject win32_networkadapterconfiguration -Filter 'ipenabled = "true"'
    foreach ($netadapteripenabledindex in $netadapteripenabled.index){
        Get-WmiObject win32_networkadapter -Filter "index = $netadapteripenabledindex" | ft index, name, MACAddress
    }
    Bonne continuation

Discussions similaires

  1. [Système] Récupérer l'adresse MAC de la machine
    Par la.musaraigne dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 27/01/2011, 15h08
  2. comment, en C++, recuperer l'adresse mac sous win98?
    Par stefane1981 dans le forum Windows
    Réponses: 2
    Dernier message: 06/10/2005, 20h12
  3. [Ada 95] Récupérer l'adresse MAC de la machine
    Par kindool dans le forum Ada
    Réponses: 3
    Dernier message: 26/05/2005, 16h49
  4. [Info] obtenir l'adresse MAC d'une machine
    Par bigboomshakala dans le forum C++
    Réponses: 3
    Dernier message: 27/02/2005, 18h07

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