Как изменить свойство 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 (этот сценарий маловероятен, но лучше обслуживать)