locked
Script get mac address RRS feed

  • Question

  • Bonjour a tous

    voila j ai trouver un script pour me donner les mac address du pc.

    ce que je recherche est que toute mes mac address soit sur une seul ligne et passer en variable afine de lancer une page web avec celle ci.

    un exemple ma variable mac=00:21:6A:6C:1C:FE,70:1A:04:58:89:3B,00:25:64:88:6B:A5

    start chrome.exe http://localhost/VARIABLE MAC ce qui lancerais http://localhost/00:21:6A:6C:1C:FE,70:1A:04:58:89:3B,00:25:64:88:6B:A5

    Voici le code

    @echo off
    setlocal
    set m=
      set params=description^^,ipaddress^^,macaddress^^,ServiceName^^,SettingID
      for /f "usebackq skip=2 tokens=1-6 delims=," %%a in (
        `wmic nicconfig get %params% /format:csv ^<nul`
          ) do (
            if not [%%e]==[] (
              if [%%f]==[] (
    echo/|set /p m=%%c,
              ) else (
    echo/|set /p m=%%d,
              )
            ) 
          )

    start chrome.exe http://localhost/%2%m%%2

    Quelqu'un aurais une idee.

    Merci par avance

    jeudi 1 mai 2014 04:32

Réponses

  • Bonjour Bruno,

    Le script contient des paramètres /instructions en double !!

    vous mentionnez set params=description^^,ipaddress^^,macaddress^^,ServiceName^^,SettingID ensuite wmic nicconfig get %params%

    Il faut savoir que l'outil WMIC va récupérer l'ensemble des paramètres du mode NICCONFIG (une vingtaine de paramètres + les paramètres que vous mentionnez dans la valeur de la var %params%, ce qui va faire que vous allez avoir beaucoup d'info de sortie et donc le résultat devient inexploitable.

    De plus, afficher le résultat sur une page web n'est pas la bonne solution /méthode.

    En effet, quelque soit le format (

    format :CSV | List | Table), vous allez avoir quelque chose qui ressemble à ça (voir image ci-après) 

    Vous aurez compris, ce n'est pas top.

    Je vous propose le script (batch) suivant qui va collecter les informations suivantes :

    Description, IPAddress, MacAddress, ServiceName, SettingID (uniquement), les exporter dans un fichier texte et lancer ce dernier par la suite, donc au lieu d'avoir une page web (en plus http://localhost, il vous faudra un local web server pour pouvoir afficher le résultat!) un fichier texte avoir un affichage optimisé 

    comme celui ci :

    ************************************************
    Description=Contrôleur Realtek PCIe GBE Family
    IPAddress=
    MACAddress=F0:BF:97:60:EE:54
    ServiceName=RTL8168
    SettingID={D8FF72B0-DAC1-4396-B773-E5CF958500FD}

    Description=Intel(R) Centrino(R) Wireless-N 1000
    IPAddress={"192.168.1.11","fe80::29bb:667:144b:ce08"}
    MACAddress=8C:A9:82:A9:88:BA
    ServiceName=NETwNs64
    SettingID={B2C5C2A8-4E2A-4F55-9A0C-A774151E2096}

    Description=Périphérique Bluetooth (réseau personnel)
    IPAddress=
    MACAddress=CC:AF:78:AE:9B:C3
    ServiceName=BthPan
    SettingID={AE4E5FF8-D7B5-4766-9CC2-811B6CFE740E}

    Description=VMware Virtual Ethernet Adapter for VMnet8
    IPAddress={"192.168.223.1","fe80::2c50:5bac:2e53:6678"}
    MACAddress=00:50:56:C0:00:08
    ServiceName=VMnetAdapter
    SettingID={98D97DCC-2CFB-4966-9010-5A15B06CB6A0}

    ******************************************************

    Procédure :

    1. ouvrez bloc note et copiez /collez le script suivant: 

    wmic nicconfig get Description, IPAddress, MacAddress, ServiceName, SettingID /format:List>C:\Liste_MacAddress.txt && C:\Liste_MacAddress.txt

    2. Enregistrez le fichier texte sous le nom (par exemple) liste_MacAddress.bat

    3. Lancez le script .bat en tant qu'Administrateur

    4. Le script s'exécute et un fichier texte et généré & lancé.

    Dites moi si ça répond à votre besoin.

    A+

    HK.


    Hicham KADIRI | Just Another IT Guy

    jeudi 1 mai 2014 11:53
  • Je ne comprend pas du tout le but de cela, mais bon, voici le script qui fera ce que tu veux

    @echo off
    setlocal enabledelayedexpansion
    set m=
    set MACADDRESS=

    for /f %%a in ('"wmic nicconfig where MACADDRESS^!=null get MacAddress/value"') do (
      set %%a>nul
        if not "!MACADDRESS!" EQU "" (
        set m=!m!!MACADDRESS!,
        )
      set MACADDRESS=
      )
    set m=%m:~,-1%
    echo %m%
    start chrome.exe http://localhost/%m%

    timeout 20

    Maintenant, je n'ai pas chrome, donc je ne sais pas tester directement avec celui-ci

    mais j'aimerais comprendre le but

    Alain

    jeudi 1 mai 2014 21:45

Toutes les réponses

  • Bonjour Bruno,

    Le script contient des paramètres /instructions en double !!

    vous mentionnez set params=description^^,ipaddress^^,macaddress^^,ServiceName^^,SettingID ensuite wmic nicconfig get %params%

    Il faut savoir que l'outil WMIC va récupérer l'ensemble des paramètres du mode NICCONFIG (une vingtaine de paramètres + les paramètres que vous mentionnez dans la valeur de la var %params%, ce qui va faire que vous allez avoir beaucoup d'info de sortie et donc le résultat devient inexploitable.

    De plus, afficher le résultat sur une page web n'est pas la bonne solution /méthode.

    En effet, quelque soit le format (

    format :CSV | List | Table), vous allez avoir quelque chose qui ressemble à ça (voir image ci-après) 

    Vous aurez compris, ce n'est pas top.

    Je vous propose le script (batch) suivant qui va collecter les informations suivantes :

    Description, IPAddress, MacAddress, ServiceName, SettingID (uniquement), les exporter dans un fichier texte et lancer ce dernier par la suite, donc au lieu d'avoir une page web (en plus http://localhost, il vous faudra un local web server pour pouvoir afficher le résultat!) un fichier texte avoir un affichage optimisé 

    comme celui ci :

    ************************************************
    Description=Contrôleur Realtek PCIe GBE Family
    IPAddress=
    MACAddress=F0:BF:97:60:EE:54
    ServiceName=RTL8168
    SettingID={D8FF72B0-DAC1-4396-B773-E5CF958500FD}

    Description=Intel(R) Centrino(R) Wireless-N 1000
    IPAddress={"192.168.1.11","fe80::29bb:667:144b:ce08"}
    MACAddress=8C:A9:82:A9:88:BA
    ServiceName=NETwNs64
    SettingID={B2C5C2A8-4E2A-4F55-9A0C-A774151E2096}

    Description=Périphérique Bluetooth (réseau personnel)
    IPAddress=
    MACAddress=CC:AF:78:AE:9B:C3
    ServiceName=BthPan
    SettingID={AE4E5FF8-D7B5-4766-9CC2-811B6CFE740E}

    Description=VMware Virtual Ethernet Adapter for VMnet8
    IPAddress={"192.168.223.1","fe80::2c50:5bac:2e53:6678"}
    MACAddress=00:50:56:C0:00:08
    ServiceName=VMnetAdapter
    SettingID={98D97DCC-2CFB-4966-9010-5A15B06CB6A0}

    ******************************************************

    Procédure :

    1. ouvrez bloc note et copiez /collez le script suivant: 

    wmic nicconfig get Description, IPAddress, MacAddress, ServiceName, SettingID /format:List>C:\Liste_MacAddress.txt && C:\Liste_MacAddress.txt

    2. Enregistrez le fichier texte sous le nom (par exemple) liste_MacAddress.bat

    3. Lancez le script .bat en tant qu'Administrateur

    4. Le script s'exécute et un fichier texte et généré & lancé.

    Dites moi si ça répond à votre besoin.

    A+

    HK.


    Hicham KADIRI | Just Another IT Guy

    jeudi 1 mai 2014 11:53
  • Je ne comprend pas du tout le but de cela, mais bon, voici le script qui fera ce que tu veux

    @echo off
    setlocal enabledelayedexpansion
    set m=
    set MACADDRESS=

    for /f %%a in ('"wmic nicconfig where MACADDRESS^!=null get MacAddress/value"') do (
      set %%a>nul
        if not "!MACADDRESS!" EQU "" (
        set m=!m!!MACADDRESS!,
        )
      set MACADDRESS=
      )
    set m=%m:~,-1%
    echo %m%
    start chrome.exe http://localhost/%m%

    timeout 20

    Maintenant, je n'ai pas chrome, donc je ne sais pas tester directement avec celui-ci

    mais j'aimerais comprendre le but

    Alain

    jeudi 1 mai 2014 21:45
  • Bonjour tout le monde,

    Etant juste de retour de business trip je n'ai pu informer mon dev. de vos suggestion.
    Juste pour Info je vie en Asie et je fais dev. une application Point Of Sale.
    Le but etant de connaitre le pc qui se connect au serveur et de connaitre son emplacement (site). En parlant de site je ne peux utiliser d"IP fixe etant donner que j ai 2 differents shop dans le meme building. Mon dev. m'a parler d'applet Java etc..

    Donc pour mieux comprendre ma demande : je fournis un fichier point .exe (.bat convertit) j envoie par email mon fichier a mes cashier de mes differents site, ainsi elles executeront le fichier et mon applis web, quand cashier va saisir son info l applis enregistrera les data avec le shop.

    Je ne parle pas non plus de securite uniquement connaitre le pc. D'autres solution aurais pu etre envisage mais celle-ci me semblait la plus rapide et la plus simple pour debuter.

    Merci de votre aide

    mardi 13 mai 2014 10:23