Comprobar la intensidad de la señal Wi-Fi en Windows con PowerShell

La intensidad de la señal Wi-Fi afecta la calidad de su conexión a Internet. En Windows, puede verificar la intensidad de la señal Wi-Fi actual de varias maneras. Traté de aprender cómo verificar la intensidad de Wi-Fi actual usando PowerShell, mostrar una notificación si la calidad de la señal ha disminuido y mostrar una lista de todas las redes inalámbricas disponibles con sus parámetros.

Un usuario de Windows 10 puede evaluar la potencia de Wi-Fi de la conexión actual con un ícono de red inalámbrica en la barra de tareas. Haga clic en el icono y verá una lista de redes Wi-Fi disponibles.

lista de red wifi disponible en windows 10

Cada red Wi-Fi tiene un icono con barras. Cuantas más barras, mejor será la intensidad de la señal del punto de acceso inalámbrico. Tres barras significan que la calidad de la señal está entre el 75 % y el 100 %. Si el icono de conexión tiene dos barras, la intensidad de la señal Wi-Fi está entre el 50 % y el 75 %, etc.

Puede obtener un valor más preciso de la intensidad de la señal con el símbolo del sistema. Enumere todos los parámetros de la conexión inalámbrica actual usando el comando:

netsh wlan show interfaces

netsh wlan mostrar interfaces

La intensidad de la señal Wi-Fi se resalta en la captura de pantalla (Signal: 72%).

Con PowerShell, solo puede obtener el valor de la intensidad de la señal en un porcentaje:

(netsh wlan show interfaces) -Match '^s+Signal' -Replace '^s+Signals+:s+',''

powershell obtiene la intensidad de la señal wifi en porcentaje

Con un simple script de PowerShell, puede mostrar una notificación emergente si la intensidad de la señal Wi-Fi es inferior al 30 %:

$cur_strength=(netsh wlan show interfaces) -Match '^s+Signal' -Replace '^s+Signals+:s+','' | Out-String
If ($cur_strength.replace('%','') –le 30)
{
Add-Type -AssemblyName System.Windows.Forms
$global:balmsg = New-Object System.Windows.Forms.NotifyIcon
$path = (Get-Process -id $pid).Path
$balmsg.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($path)
$balmsg.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Warning
$balmsg.BalloonTipText = “The Wi-Fi signal strength is less than $cur_strength Go back to the access point!”
$balmsg.BalloonTipTitle = "Attention $Env:USERNAME"
$balmsg.Visible = $true
$balmsg.ShowBalloonTip(10000)
}

mostrar una notificación de mala conexión wi-fi en windows

Puede ejecutar este código de PowerShell en un bucle infinito y verificar el estado de la señal una vez cada 10 segundos, o convertirlo en un servicio de Windows que le notifique si la conexión Wi-Fi es deficiente.

También puedes usar netsh para mostrar también una lista de todas las redes inalámbricas disponibles en el rango de su adaptador inalámbrico (no solo la lista de redes Wi-Fi guardadas):

netsh wlan show network mode=bssid

El siguiente script de PowerShell analiza todas las redes Wi-Fi disponibles (incluidos los puntos de acceso de Windows), muestra sus nombres, la intensidad de la señal, los canales (útil si desea encontrar canales gratuitos) y los estándares admitidos (802.11n, 802.11ac, 802.11g, etc.).

$logs=@()
$date=Get-Date
$cmd=netsh wlan show networks mode=bssid
$n=$cmd.Count
For($i=0;$i -lt $n;$i++)
{
If($cmd[$i] -Match '^SSID[^:]+:.(.*)$')
{
$ssid=$Matches[1]
$i++
$bool=$cmd[$i] -Match 'Type[^:]+:.(.+)$'
$Type=$Matches[1]
$i++
$bool=$cmd[$i] -Match 'Authentication[^:]+:.(.+)$'
$authent=$Matches[1]
$i++
$bool=$cmd[$i] -Match 'Cipher[^:]+:.(.+)$'
$chiffrement=$Matches[1]
$i++
While($cmd[$i] -Match 'BSSID[^:]+:.(.+)$')
{
$bssid=$Matches[1]
$i++
$bool=$cmd[$i] -Match 'Signal[^:]+:.(.+)$'
$signal=$Matches[1]
$i++
$bool=$cmd[$i] -Match 'Type[^:]+:.(.+)$'
$radio=$Matches[1]
$i++
$bool=$cmd[$i] -Match 'Channel[^:]+:.(.+)$'
$Channel=$Matches[1]
$i=$i+2
$logs+=[PSCustomObject]@{date=$date;ssid=$ssid;Authentication=$authent;Cipher=$chiffrement;bssid=$bssid;signal=$signal;radio=$radio;Channel=$Channel}
}
}
}
$cmd=$null
$logs|Out-GridView -Title 'Scan Wifi Script'

Verá una tabla Out-GridView simple que contiene información sobre los parámetros de todas las redes inalámbricas disponibles.

Secuencia de comandos del analizador WiFi de PowerShell

Mi captura de pantalla muestra ese canal. 11 se usa mucho en mi entorno, por lo que vale la pena ejecutar mi punto de acceso en otro canal.

Puede usar el script para asegurarse de que su adaptador detecte redes Wi-Fi de 5 GHz.

Artículos Interesantes