mcbobke / psspeedtest Goto Github PK
View Code? Open in Web Editor NEWA module for testing network bandwidth over the internet as well as private networks.
License: BSD 3-Clause "New" or "Revised" License
A module for testing network bandwidth over the internet as well as private networks.
License: BSD 3-Clause "New" or "Revised" License
I created a reddit account that identifies myself as the module creator, but I can't comment for a full day. I will reply tomorrow, but for now I'll reference the comment here.
Currently, removing the settings created by Install-SpeedTestServer must be done manually through Windows GUIs. This is tedious and can be automated.
Need to suppress output and write valuable status messages to console.
Sets $config.defaultLocalServer.defaultServer to $LocalPort
Right now, a PSCustomObject
is returned containing the sent/received speeds in Mbps. This prints each property to the console, but isn't very descriptive.
It is possible that a -PassThru
parameter should be added that will still pass this object through if the parameter is specified, but otherwise some more descriptive Write-Host
calls should be used.
Add -PassThru
switch for returning PSCustomObject.
Upon installation of PSSpeedTest and then running Invoke-SpeedTest
for the first time, the provider "ChocolateyGet" and the package "iperf3" must be installed. This slows down the first test considerably. After the first test, subsequent tests always check for those two items to exist, which adds a slight amount of processing time with Get-PackageProvider
and Get-Package
.
I need to investigate including the iPerf3 executable in this module and distributing it alongside the PowerShell scripts.
A few things need to be changed:
config.json
file depend on the file that is located in the output directory. These will need to be updated.config.json
should be renamed to be more identifiable.Get-SpeedTestConfig
and Set-SpeedTestConfig
need to resolve the correct config path location and handle its potential non-existence appropriately.This feature has proven to be much too finicky and buggy for me to safely assume that it works in all situations and environments. It is safer to install the module on the server in question and then run Install-SpeedTestServer
for setup. I need to remove all remote code from the relevant files and remove the unnecessary tests.
Oh God why
Shouldn't the -Force
switch skip any prompts?
I'll be updating these scripts in my module template and then retro-fitting them here.
I tried creating a reddit account that identifies myself as the module creator so that I could reply to this comment, but my account needs to be a day old. I'll reply tomorrow night, but for now I'll create an issue in hopes that the commenter sees it.
Implement $PSCmdlet.ShouldProcess when changing system configuration or installing/removing packages.
Set-iPerf3Task.ps1
expects the iperf
process to exist as soon as the task is started. This is not always guaranteed by Windows and as such I shouldn't be testing for it immediately.
Using the -ArgumentList
parameter is not compatible with named parameters. It might be better to install this module on the remote computer as System and then run the Install-SpeedTestServer
function from the remote installed module.
Depending on a public iPerf3 server from iPerf's website is problematic given that any of those servers can be unavailable. I can "circumvent" this by running an iPerf3 server on one of my DigitalOcean droplets, or possibly on the local test machine itself.
I'd like to begin treating unit tests as per-function items.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.