3

У меня есть ноутбук под управлением Windows Server 2003 SP2 с установленным PowerShell.

Иногда эта система должна использоваться в средах, где для правильной работы NIC необходимо вручную установить 100 Мбит / с / Full Duplex. В большинстве других сред этот параметр должен быть установлен на Автоопределение для лучшей производительности.

Обычно я делаю это с помощью следующей процедуры:

  • Щелкните правой кнопкой мыши My Network Places, выберите Properties.
  • Щелкните правой кнопкой мыши Подключение по локальной сети, выберите Свойства
  • Нажмите Настроить
  • На вкладке «Дополнительно» выберите свойство «Скорость и дуплекс» и измените значение «Авто» на «100 МБ».
  • Отмените изменение, когда закончите с работой.

Есть ли способ сделать это с помощью пакетных или PowerShell сценариев? Я хочу сделать что-то вроде этого:

@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

Мне сказали, что могут быть некоторые способы сделать это через WMIC или PowerShell, но я не смог найти правильные переключатели, значения или синтаксис.

1 ответ1

5

Похоже , это установка конкретного производителя, как было отмечено в Technet потоке Здесь

Он отмечает, что внесения изменений в реестр для ключа сетевой карты в HKLM\SYSTEM\CurrentControlSet\Control\Class\(GUID)\(INTNUM)\(Vendor-specific-registrykey) должно быть достаточно, но я думаю, что вам также следует добавить что-то в там, чтобы отключить, а затем снова включить сетевой адаптер при его изменении.

Вот пример пакетного сценария, который включает в себя все вышеперечисленное с шаблоном в вопросе.

@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  

Чтобы приведенный выше скрипт работал для вас, может потребоваться изменить следующее.

  • Все, что находится после "\Class\" в разделе реестра, может потребоваться изменить, чтобы он соответствовал соответствующему ключу в вашей системе. Ищите ключ, начинающийся с {4D36E972 и работайте оттуда, чтобы найти тот, который вам нужен.
  • Параметры для ключей /v , /d и /t должны быть установлены в соответствии с конкретной конфигурацией вашей системы.
  • При необходимости измените "Local Area Connection" , чтобы оно соответствовало названию интерфейса, над которым вы работаете.

Как всегда, обязательно сделайте полную резервную копию реестра, прежде чем пытаться какие-либо непроверенные изменения.    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .