もっと詳しく

Wi-Fi信号強度は、インターネット接続の品質に影響します。 Windowsでは、いくつかの方法で現在のWi-Fi信号強度を確認できます。 PowerShellを使用して現在のWi-Fi強度を確認し、信号品質が低下した場合に通知を表示し、使用可能なすべてのワイヤレスネットワークとそのパラメーターのリストを表示する方法を学習しようとしました。

Windows 10ユーザーは、タスクバーのワイヤレスネットワークアイコンを使用して、現在の接続のWi-Fi強度を評価できます。 アイコンをクリックすると、利用可能なWi-Fiネットワークのリストが表示されます。

各Wi-Fiネットワークには、バーの付いたアイコンがあります。 バーが多いほど、ワイヤレスアクセスポイントの信号強度は高くなります。 3つのバーは、信号品質が75%から100%の間であることを意味します。 接続アイコンに2つのバーがある場合、Wi-Fi信号強度は50%から75%の間などです。

コマンドプロンプトを使用すると、信号強度のより正確な値を取得できます。 次のコマンドを使用して、現在のワイヤレス接続のすべてのパラメータを一覧表示します。

netsh wlan show interfaces

netsh wlan show interfaces

スクリーンショットでは、Wi-Fi信号強度が強調表示されています(Signal: 72%)。

PowerShellを使用すると、信号強度の値のみをパーセントで取得できます。

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

PowerShellはパーセントでwifi信号強度を取得します

単純なPowerShellスクリプトを使用すると、Wi-Fi信号強度が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)
}

WindowsでWi-Fi接続の通知が不十分であることを表示する

このPowerShellコードを無限ループで実行し、信号のステータスを10秒ごとに確認するか、Wi-Fi接続が不十分な場合に通知するWindowsサービスにすることができます。

使用することもできます netsh ワイヤレスアダプタの範囲内で利用可能なすべてのワイヤレスネットワークのリストも表示するには(保存されているWi-Fiネットワークのリストだけでなく):

netsh wlan show network mode=bssid

次のPowerShellスクリプトは、利用可能なすべてのWi-Fiネットワーク(Windowsアクセスポイントを含む)をスキャンし、名前、信号強度、チャネル(無料のチャネルを検索する場合に便利)、およびサポートされている標準(802.11n、802.11ac、802.11g、等。)。

$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'

利用可能なすべてのワイヤレスネットワークのパラメータに関する情報を含む単純なOut-GridViewテーブルが表示されます。

PowerShellWiFiアナライザースクリプト

私のスクリーンショットはそのチャンネルを示しています 11 私の環境では頻繁に使用されているため、アクセスポイントを別のチャネルで実行する価値があります。

The post PowerShellを使用してWindowsのWi-Fi信号強度を確認する appeared first on Gamingsym Japan.