Как найти адаптер Wi-Fi для разных языков с помощью PowerShell

#windows #powershell #wireless

#Windows #powershell #беспроводная

Вопрос:

Сценарий powershell должен включать / отключать адаптер беспроводной сети. Поэтому я использую командлет NetAdaper.

 Get-NetAdapter
Enable-NetAdapter -Name 'Wi-Fi'-Confirm:$false
Disable-NetAdapter -Name 'Wi-Fi'-Confirm:$false
 

Он отлично работает в англоязычных системах.
В системе с настроенными другими языками происходит сбой из-за того, что у беспроводного адаптера нет «Wi-Fi» в качестве имени.

Примером может быть немецкий.

 Enable-NetAdapter -Name 'WLAN'-Confirm:$false
Disable-NetAdapter -Name 'WLAN'-Confirm:$false
 

Как заархивировать этот скрипт, работающий на всех языках?

Ответ №1:

Get-NetAdapter имеет поле с именем InterfaceType , которое содержит значение, основанное на этом перечислении:

https://docs.microsoft.com/en-us/dotnet/api/system.net.networkinformation .networkinterfacetype?view=net-5.0

Согласно этой документации, type 71 — это Wireless80211 устройство.

Просто чтобы показать, что он есть:

 [int][System.Net.NetworkInformation.NetworkInterfaceType]::Wireless80211
 

Итак, вы могли бы сделать что-то вроде этого:

 Get-NetAdapter | Where-Object InterfaceType -eq 71
 

Который вернет список всех беспроводных адаптеров.