Get Wireless Signal Strength

Anyone have an Analyses to get the wireless signal strength? This would be a valuable tool for our Helpdesk when troubleshooting at-home users spotty vpn connections.

Thanks,
Sno

I couldn’t find a direct way to query this information using BigFix relevance. However, you can achieve this by using the following PowerShell script to collect Wi-Fi details, save the results to a text file, and then retrieve them using relevance.

PowerShell Script:

# Get Wi-Fi adapter name
$wifiAdapter = (Get-CimInstance Win32_NetworkAdapter | Where-Object { $_.NetConnectionStatus -eq 2 -and $_.Name -like "*Wi-Fi*" }).Name

# Get signal strength via netsh
$wifiInfo = netsh wlan show interfaces | Select-String "Signal" | ForEach-Object { ($_ -split " : ")[1].Trim() }

# Get SSID (Wi-Fi network name)
$ssid = netsh wlan show interfaces | Select-String "SSID" | ForEach-Object { ($_ -split " : ")[1].Trim() }

# Get BSSID (MAC Address of connected network)
$bssid = netsh wlan show interfaces | Select-String "BSSID" | ForEach-Object { ($_ -split " : ")[1].Trim() }

# Format output using "||" as a separator
$wifiData = "$wifiAdapter || $ssid || $bssid || $wifiInfo"

# Save output to a text file for BigFix to read
$wifiData | Out-File -FilePath "C:\temp\BigFix\wifi_info.txt" -Encoding utf8 -Force

Example Output (Stored in wifi_info.txt):

Intel(R) Wi-Fi 6E AX211 160MHz || VKKNet-Jio || b4:b7:v6:98:d3:c8 || 81%
1 Like

How about using this, seems to work for me :

https://developer.bigfix.com/relevance/reference/wifi-network.html

2 Likes

Yeah ! even better, never knew we got direct inspector for it.

Q: (ssid of it | "No SSID", bssid of it | "No BSSID", (signal strength of it as string | "None")) of current networks of wifis of adapters of network
A: VKKNet-Jio, b4:b7:v6:98:d3:c8, 85
T: 15.021 ms
2 Likes

what does the 85 represent? does it mean the signal strength is 85% strong? I was looking for something more along the line of a “good” “poor” “excellent” “weak” type of result for the signal strength. is that possible?

We had a major issue with this during Covid so we created a powershell script that we have as a start menu shortcut that users can run as needed or as requested by the support team. I’m sure you are looking at other things as well but what you are talking about providing to your service desk is only a very small of the puzzle when troubleshooting home internet connections.

In our PowerShell script we are doing the following:

  1. Run Ookla Speed test (This uses the Ookla speed test command line utility and requires additional licensing)
  2. Collect Ethernet, WLAN, and Cellular adapter information
  3. Collect logs from Event Viewer from our VPN Client
  4. test Ping to Google
  5. Test Ping to Microsoft 365
  6. Test connection to our VPN server
  7. Test Ping to their default gateway
  8. Run a test with iPerf to an internal iperf server to check for speed, latency, etc.

After these tests all of the outputs are evaluated and put into an HTML file that gets opened for the user and e-mailed to them. We’ve found that this can highlight some of the more standout issues with home wifi connections but intermittent issues are obviously much harder to find and for those with impactful long term issues we started using a tool called Thousand eyes that will give you a better historical understanding of home network issues. It’s not a cheap tool but it does a really good job of painting a clear picture of issues that you won’t see with a point in time snapshot.

While I can’t give you our script, maybe this will give you some other ideas of things to look for to help you with this issue.

2 Likes

In the prior example 85 is 85% Strength. You can update the relevance to return a string value for whatever criteria you would like. In this example I put Less than 40% is a fail and everything else is a Pass but you can change your thresholds to whatever you prefer for your org.

(ssid of it | “No SSID”, bssid of it | “No BSSID”, ((if it < 40 then “Fail - Please try moving closer to your Wireless adapater or plugging directly into your router with an ethernet cable” Else “Pass” ) of (signal strength of it) as string | “None”)) of current networks of wifis of adapters of network

thanks alot! how do I add the “%” sign for readability. for example the 40 would read 40%.

can you tweak your code to include the % sign?

Thanks so much!

Sno

Certain symbols like double quotes or percent symbols have to be translated into ASCII characters in order to resolve correctly.

I think something like this is what you are asking for.

(ssid of it | “No SSID”, bssid of it | “No BSSID”, ((if it < 40 then “Fail - signal strength is " & it as string & “%25” & " Please try moving closer to the Wireless adapater or plugging directly into the router with an ethernet cable” Else "Pass - signal strength is " & it as string & “%25” ) of (signal strength of it) as string | “None”)) of current networks of wifis of adapters of network

3 Likes