Как изменить свойство RoamingPreferredBandType адаптеров беспроводной сети моих пользователей?

У нас периодически возникают проблемы с подключением пользователей к Wi-Fi. Похоже, что это может быть связано с помехами, при этом рекомендуемое решение состоит в том, чтобы изменить RoamingPreferredBandType на 5 ГГц.

Для этого потока это можно сделать, изменив значение параметра реестра RoamingPreferredBandType в 2. Некоторый код (для обоих bat а также powershell были включены в эту ветку; но они, похоже, сканируют большую часть реестра, находя и обновляя все свойства с этим значением. Хотя вряд ли у других записей будет свойство с этим именем, мне не нравится код, который работает на предположениях; и этот подход не слишком эффективен. Есть ли лучший способ сделать это, ориентируясь только на те записи, которые имеют значение?

1 ответ

Решение

Это модифицированная версия скрипта в ветке форума Intel (ссылка дана в вопросе), которая использует несколько вещей для улучшения своего скрипта:

  • GUID {4D36E972-E325-11CE-BFC1-08002BE10318} всегда тот, у которого есть сетевые адаптеры, помогающие нам сузить путь к реестру: https://technet.microsoft.com/en-us/library/jj130901.aspx
  • Мы можем получить идентификатор устройства / индекс сетевого адаптера из класса WMI Win32_NetworkAdapter, который в сочетании с вышеупомянутым дает нам полный путь к разделу реестра нашего адаптера.

,

Get-WmiObject -Class Win32_NetworkAdapter | ?{$_.Name -like '*Wireless*'} | %{("HKLM:\SYSTEM\CurrentControlSet\Control\Class\{{4D36E972-E325-11CE-BFC1-08002BE10318}}\{0:0000}" -f ([int]$_.Index))} | %{ 
    if(get-itemproperty -Path $_ -Name 'RoamingPreferredBandType' -ErrorAction SilentlyContinue) {
        Set-ItemProperty -Path $_ -Name 'RoamingPreferredBandType' -Value 2    
    } else {
        New-ItemProperty -Path $_ -Name 'RoamingPreferredBandType' -PropertyType String -Value 2
    }
}

т.е.

  • получить список всех сетевых адаптеров
  • фильтр для беспроводных
  • используйте идентификатор устройства / индекс каждого беспроводного адаптера, чтобы получить полный путь к реестру для этого устройства / этих устройств
  • для каждого найденного устройства проверьте, существует ли свойство RoamingPreferenceBandType:
    • Если это так, установите его на 2 (если он не существует, он будет создан).
    • Если нет, создайте новый со значением 2 (этот сценарий маловероятен, но лучше обслуживать)
Другие вопросы по тегам