Bandwidth Test via SpeedTest CLI


With work from home and troubleshooting of remote networks the team I am on constantly are getting reports of things “being slow”.  Many times the issue comes down to poor WI-FI connection or an internet issues on the end user side.  Who of us has not heard “But Netflix works just fine”….😣

I am using the basic Health Worklet but wanted to create a new worklet that provides more information.  

In came CLI using the following evaluation code and remediation code I am able to get live speed test for end users.  Download the zip file - Extract and upload the .exe into the worklet.


Note: This is windows centric

Evaluation Code:

exit 1

Remediation Code:

&'.\speedtest.exe' --progress=no --accept-license | Where-Object {$_.trim() -ne "" }


--progress= no live update screen just final results

--accept-license = seems to be an undocumented flag to accept the license on initial run of exe

The $.trim() -ne””  is just to remove blank lines in the output.


Please provide some feedback.

3 replies

Userlevel 5
Badge +1

That’s really cool. More information over a period of time I think would provide a data set that might provide the context the end user needs to understanding their interpretation of slow. 


Here is a worklet where I took the output from netsh wlan show interfaces every 30 minutes for 48 hours and dropped it into a CSV file 


Userlevel 3

I like this idea. I added a few more lines of diagnostics to help spot issues. 


$results = .\speedtest.exe --progress=no --accept-license | Where-Object {$_.trim() -ne ""}
$results += ping -l 1000 -f -n 100 | Select-String -NotMatch -Pattern 'Reply'
$results += ipconfig /all
Write-output $results


Like this allot although I do not appear to be getting any output from the upload or download reporting back