Modificare le impostazioni di velocità / duplex della NIC nello script?


3

Ho un laptop con Windows Server 2003 SP2, con PowerShell installato.

Occasionalmente, questo sistema deve essere utilizzato in ambienti in cui è necessario impostare manualmente la scheda NIC su 100 Mbps / Full Duplex per funzionare correttamente. Nella maggior parte degli altri ambienti, questo deve essere impostato su Rilevamento automatico per le migliori prestazioni.

Normalmente, lo faccio attraverso la seguente procedura:

  • Fare clic con il tasto destro del mouse su Risorse di rete, selezionare Proprietà.
  • Fare clic con il tasto destro su Connessione alla rete locale, selezionare Proprietà
  • Fai clic su Configura
  • Nella scheda Avanzate, selezionare la proprietà Velocità e duplex e modificare il valore da Auto a 100 Mb completo.
  • Invertire la modifica al termine del lavoro.

Esiste un modo per farlo tramite script Batch o PowerShell? Sto cercando di fare qualcosa del genere:

@ECHO OFF
[Insert 100 Mbps/Full Duplex commands here]
ECHO NIC set to 100 Mbps/Full Duplex
ECHO Press any key to return to Auto-Detect
PAUSE
[Insert Auto-Detect commands here]
ECHO NIC returned to Auto-Detect
ECHO Press any key to exit
PAUSE

Mi è stato detto che potrebbero esserci alcuni metodi per farlo tramite WMIC o PowerShell, ma non sono stato in grado di trovare gli switch, i valori o la sintassi corretti.

Risposte:


5

Sembra che questa sia un'impostazione specifica del fornitore, come indicato in una discussione tecnica qui

Rileva che apportare una modifica del Registro di sistema alla chiave della scheda NIC in HKLM \ SYSTEM \ CurrentControlSet \ Control \ Class \ (GUID) \ (INTNUM) \ (Chiave di registro specifica del fornitore) dovrebbe essere sufficiente, ma penso che dovresti anche aggiungere qualcosa in lì per disabilitare quindi riattivare la scheda NIC durante la modifica.

Ecco un esempio di script batch che incorpora tutto quanto sopra con il modello nella domanda.

@echo off  
reg add HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001 /v RequestedMediaType /d 6 /t REG_SZ /f  
netsh interface set interface "Local Area Connection" DISABLED  
netsh interface set interface "Local Area Connection" ENABLED  
echo Connection set to 100 Mb/Full Duplex  
echo Press any key to change back to Auto  
PAUSE  
reg add HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001 /v RequestedMediaType /d 0 /t REG_SZ /f  
netsh interface set interface "Local Area Connection" DISABLED  
netsh interface set interface "Local Area Connection" ENABLED  
echo Connection set to Auto  
echo Press any key to exit  
PAUSE  

Per far funzionare lo script sopra riportato, potrebbe essere necessario modificare quanto segue.

  • "\Class\"Potrebbe essere necessario modificare tutto ciò che segue nella chiave di registro in modo che corrisponda alla chiave appropriata nel sistema. Cerca una chiave che inizia {4D36E972e lavora da lì per trovare quella che ti serve.
  • I parametri per il /v, /de /tgli interruttori devono essere impostati in base alla configurazione specifico del fornitore per il sistema.
  • Modificare "Local Area Connection"se necessario, in modo che corrisponda al nome dell'interfaccia su cui si sta lavorando.

Come sempre, assicurarsi di eseguire un backup completo del registro prima di tentare qualsiasi modifica non testata.    


Ho preso un po 'di lavoro, ma alla fine ho trovato le chiavi di cui avevo bisogno e ho ottenuto tutto insieme alle informazioni qui.
Iszi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.