Speedtest
Aller à la navigation
Aller à la recherche
Speedtest est un utilitaire qui fonctionne avec PowerShell et qui permet d'effectuer des tests de débit réseau.
Généralité
Cet outil peut être utilisé de façon autonome ou associé à un script PowerShell.
Source
Exécutable
Site :
Fichier téléchargé :
ookla-speedtest-1.2.0-win64.zip
Cette archive contient les éléments suivants :
speedtest.exe
: programme principalspeedtest.md
: mode d'emploi
Script PowerShell
Site :
- https://routeur4g.fr
- https://routeur4g.fr/discussions/discussion/5026/tuto-script-powershell-monitoring-de-debits-speedtest-cli
PowerShell
Pour effectuer des tests sur une durée significative, voici un script PowerShell.
<# Nom : PSHRES030 Description : mesure de la qualité d'une connexion internet (débit, latence, perte de paquet...) Usage : exercice en PowerShell Particularité : néant Auteur : Routeur4g.fr, fylip22 Lien externe : https://routeur4g.fr/discussions/discussion/5026/tuto-script-powershell-monitoring-de-debits-speedtest-cli Version : 1.1 Révisions : - 1.0 (01/08/2021) : Routeur4g.fr, création du script - 1.1 (23/08/2024) : fylip22, modification du script #> $DateLog = Get-Date -Format "dd/MM/yyyy HH:mm K" $datePrefix = Get-Date -Format "yyyyMM_" $DownloadLocation = "C:\Support\Speedtest" $SpeedTestTxt = $DownloadLocation + "\" + $datePrefix + "speedtest_history.txt" $SpeedtestResults = &"$DownloadLocation\speedtest.exe" --format=json --accept-license --accept-gdpr $SpeedtestResults = $SpeedtestResults | ConvertFrom-Json [PSCustomObject]$SpeedtestObj = @{ downloadspeed = [math]::Round($SpeedtestResults.download.bandwidth / 1000000 * 8, 2) uploadspeed = [math]::Round($SpeedtestResults.upload.bandwidth / 1000000 * 8, 2) packetloss = [math]::Round($SpeedtestResults.packetLoss) isp = $SpeedtestResults.isp ExternalIP = $SpeedtestResults.interface.externalIp InternalIP = $SpeedtestResults.interface.internalIp UsedServer = $SpeedtestResults.server.host ResultsURL = $SpeedtestResults.result.url Jitter = [math]::Round($SpeedtestResults.ping.jitter) Latency = [math]::Round($SpeedtestResults.ping.latency) } $PublicIP = $SpeedtestObj.ExternalIP $SpeedTestResultDownload = $SpeedtestObj.downloadspeed $SpeedTestResultDownload = "{0:#,##0.00;(#,##0.00);ERREUR}" -f $SpeedTestResultDownload $SpeedTestResultUpload = $SpeedtestObj.uploadspeed $SpeedTestResultUpload = "{0:#,##0.00;(#,##0.00);ERREUR}" -f $SpeedTestResultUpload $SpeedTestResultLatency = $SpeedtestObj.Latency $SpeedTestResultLossPk = ($SpeedtestObj.packetloss).tostring("P") $SpeedTestResultISP = $SpeedtestObj.isp $SpeedTestResultServer = $SpeedtestObj.UsedServer $SpeedTestResultServerId = $SpeedtestResults.server.id $SpeedTestResultServerId1 = "{0:00000}" -f $SpeedTestResultServerId $SpeedTestResultServerLocation = $SpeedtestResults.server.location "$DateLog`t DL: $SpeedTestResultDownload`tMbps UL: $SpeedTestResultUpload`tMbps PING: $SpeedTestResultLatency`tms LOSS: $SpeedTestResultLossPk ISP: $PublicIP ($SpeedTestResultISP) SERVER: $SpeedTestResultServerLocation ; id = $SpeedTestResultServerId1 ($SpeedTestResultServer)" | Out-File -Append -Encoding ascii -FilePath $SpeedTestTxt
Résultat
Le résultat est de la forme suivante :
... 23/08/2024 17:10 +02:00 DL: 1,43 Mbps UL: 0,41 Mbps PING: 21 ms LOSS: 0,00 % ISP: 2.10.68.55 (Orange) SERVER: Rennes ; id = 58423 (rennes3.d2m.c2d.liveservices.fr) 23/08/2024 17:15 +02:00 DL: 1,44 Mbps UL: 0,92 Mbps PING: 21 ms LOSS: 0,00 % ISP: 2.10.68.55 (Orange) SERVER: Rennes ; id = 58423 (rennes3.d2m.c2d.liveservices.fr) 23/08/2024 17:20 +02:00 DL: 1,24 Mbps UL: 0,39 Mbps PING: 20 ms LOSS: 0,00 % ISP: 2.10.68.55 (Orange) SERVER: Rennes ; id = 58423 (rennes3.d2m.c2d.liveservices.fr) 23/08/2024 17:25 +02:00 DL: ERREUR Mbps UL: ERREUR Mbps PING: 0 ms LOSS: 0,00 % ISP: () SERVER: ; id = () 23/08/2024 17:30 +02:00 DL: 1,14 Mbps UL: 0,36 Mbps PING: 23 ms LOSS: 0,00 % ISP: 2.10.68.55 (Orange) SERVER: Rennes ; id = 58423 (rennes3.d2m.c2d.liveservices.fr) 23/08/2024 17:35 +02:00 DL: 1,20 Mbps UL: 0,24 Mbps PING: 22 ms LOSS: 0,00 % ISP: 2.10.68.55 (Orange) SERVER: Rennes ; id = 58423 (rennes3.d2m.c2d.liveservices.fr) 23/08/2024 17:40 +02:00 DL: 1,22 Mbps UL: 0,28 Mbps PING: 23 ms LOSS: 0,00 % ISP: 2.10.68.55 (Orange) SERVER: Rennes ; id = 58423 (rennes3.d2m.c2d.liveservices.fr) 23/08/2024 17:45 +02:00 DL: ERREUR Mbps UL: ERREUR Mbps PING: 0 ms LOSS: 0,00 % ISP: () SERVER: ; id = () ...