none
Netsh: capire quale scheda di rete è abilitata RRS feed

  • Domanda

  • Salve a tutti,

    devo impletare uno script bat per configurare automaticamente la scheda di rete, ora potendoci essere più schede di rete su un pc, vorrei sapere a quale delle schede di rete è connesso il cavo.

    Tramite il comando

    netsh int sho int

    ricevo

    Stato admin    Stato          Tipo             Nome interfaccia
    -------------------------------------------------------------------------
    Abilitato      Disconnesso    Dedicato         Wi-Fi
    Abilitato      Connessione    Dedicato         VMware Network Adapter VMnet1
    Abilitato      Connessione    Dedicato         VMware Network Adapter VMnet8
    Abilitato      Connessione    Dedicato         Ethernet 6

    esiste un comando che mi ritorni solo "Ethernet 6" (cioè il nome della scheda attualmente connessa via cavo) ?

    Grazie



    martedì 11 dicembre 2018 09:07

Risposte

  • Per individuare la tipologie delle schede di rete la cosa più facile è usare wmic, meglio ancora sarebbe usare powershell.

    Sotto trovi uno script che sfrutta le differenze fra le varie tipologie di interfacce di rete per capire quelle fisiche fra quelle con il tcp abilitato, purtroppo la sintassi dei batch non aiuta molto la leggibilità del codice 

    @echo off
    :: setta la variabile nic sull'ultima interfaccia di rete fisica, abilitata e con tcpip settato
    :: 
      for /F %%I in ('wmic nicconfig  where "IPEnabled=TRUE" get index ^|findstr /r [0-9]') do (
       for /F "tokens=*" %%N in ('wmic nic where "deviceid=%%I and not PNPDeviceID  like "ROOT%%"" get NetConnectionID 2^>NUL ^|findstr /v /r "^$ NetConnectionID"') do CALL set nic=%%N
      )
    ECHO Ultima scheda di rete trovata: %nic%
    
    :: lista tutte le interfacce  di rete fisiche, abilitate e con tcpip settato
      for /F %%I in ('wmic nicconfig  where "IPEnabled=TRUE" get index ^|findstr /r [0-9]') do (
       for /F "tokens=*" %%N in ('wmic nic where "deviceid=%%I and not PNPDeviceID  like "ROOT%%"" get NetConnectionID 2^>NUL ^|findstr /v /r "^$ NetConnectionID"') do (
    	  echo Nic trovata: %%N
    	)
      )
    Ciao Gastone


    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere



    martedì 11 dicembre 2018 23:20
    Moderatore

Tutte le risposte

  • Ciao, il sistema non capisce se la scheda è fisica o virtuale, giustamente da la connessione anche su quelle virtuali perchè effettivamente lo sono a meno che tu non le disabiliti.

    quindi difficilmente potrai usare uno script autoconfigurante in questi casi soprattutto perchè il nome della ethernet è variabile da pc a pc...rischi quindi di piazzare l'ip su una virtuale.

    penso comunque che tu non abbia VMPlayer o VMWorkstation su tutti i pc...

    A.

    martedì 11 dicembre 2018 10:40
    Moderatore
  • Per individuare la tipologie delle schede di rete la cosa più facile è usare wmic, meglio ancora sarebbe usare powershell.

    Sotto trovi uno script che sfrutta le differenze fra le varie tipologie di interfacce di rete per capire quelle fisiche fra quelle con il tcp abilitato, purtroppo la sintassi dei batch non aiuta molto la leggibilità del codice 

    @echo off
    :: setta la variabile nic sull'ultima interfaccia di rete fisica, abilitata e con tcpip settato
    :: 
      for /F %%I in ('wmic nicconfig  where "IPEnabled=TRUE" get index ^|findstr /r [0-9]') do (
       for /F "tokens=*" %%N in ('wmic nic where "deviceid=%%I and not PNPDeviceID  like "ROOT%%"" get NetConnectionID 2^>NUL ^|findstr /v /r "^$ NetConnectionID"') do CALL set nic=%%N
      )
    ECHO Ultima scheda di rete trovata: %nic%
    
    :: lista tutte le interfacce  di rete fisiche, abilitate e con tcpip settato
      for /F %%I in ('wmic nicconfig  where "IPEnabled=TRUE" get index ^|findstr /r [0-9]') do (
       for /F "tokens=*" %%N in ('wmic nic where "deviceid=%%I and not PNPDeviceID  like "ROOT%%"" get NetConnectionID 2^>NUL ^|findstr /v /r "^$ NetConnectionID"') do (
    	  echo Nic trovata: %%N
    	)
      )
    Ciao Gastone


    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere



    martedì 11 dicembre 2018 23:20
    Moderatore