routeur4g.fr est financé par ses lecteurs. Quand vous achetez en passant par les liens du site, nous pouvons toucher une commission d’affiliation.
[TUTO] Script Powershell monitoring de débits Speedtest CLI
romain1985
Membre Messages: 158
dans Logiciels
Bonjour,
Pour ceux qui veulent mettre en place une surveillance de votre débit, je vous propose la mise en place d'un script par tâche planifiée (toutes les 10min par exemple).
Attention, faire attention à ne pas laisser tourner la tâche à des moments non désirées. Pensez à ceux qui sont connectés sur la même cellule 3G/4G/5G que vous!
Source du Script original :
Script modifié :
Il va écrire les données utiles dans un fichier texte lisible facilement. (si quelqu'un veut m'aider sur l'alignement des colonnes, je suis preneur!) Au pire, on peut facilement renvoyer les données dans un fichier Csv pour ceux qui veulent vraiment exploiter ou faire des graphiques.
Étapes à suivre :
1. Télécharger et dézipper le fichier https://install.speedtest.net/app/cli/ookla-speedtest-1.0.0-win64.zip
2. Créer le script Powershell SpeedTest-Historique.ps1 dans le dossier, mettre à jour le chemin du binaire à ligne 3
2. Créer le script Powershell SpeedTest-Historique.ps1 dans le dossier, mettre à jour le chemin du binaire à ligne 3
$DateLog = Get-Date -Format "dd/MM/yyyy HH:mm K"
$datePrefix = Get-Date -Format "yyyyMM_"
$DownloadLocation = "C:\Users\Utilisateur\Downloads\ookla-speedtest-1.0.0-win64"
$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
3. Créer la tâche planifiée :
Dans l'onglet Actions, le programme a lancer c'est Powershell :
c:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
et en argument :
-ExecutionPolicy Bypass "C:\Users\Utilisateur\Downloads\ookla-speedtest-1.0.0-win64\SpeedTest-Historique.ps1"Fibre Freebox 1Gbits :
15/08/2021 12:54 +02:00 DL: 545,34 Mbps UL: 345,07 Mbps PING: 14 ms LOSS: 0,00 % ISP: 91.XXX.XX.XX (Free SAS) SERVER: Nice ; id = 08195 (62.XXX.XX.XXX)
15/08/2021 12:55 +02:00 DL: 343,07 Mbps UL: 440,47 Mbps PING: 14 ms LOSS: 0,00 % ISP: 91.XXX.XX.XX (Free SAS) SERVER: Nice ; id = 08195 (62.XXX.XX.XXX)
15/08/2021 12:56 +02:00 DL: 487,79 Mbps UL: 456,75 Mbps PING: 13 ms LOSS: 0,00 % ISP: 91.XXX.XX.XX (Free SAS) SERVER: Nice ; id = 08195 (62.XXX.XX.XXX)
15/08/2021 12:57 +02:00 DL: 275,52 Mbps UL: 443,94 Mbps PING: 13 ms LOSS: 0,00 % ISP: 91.XXX.XX.XX (Free SAS) SERVER: Nice ; id = 08195 (62.XXX.XX.XXX)
15/08/2021 12:58 +02:00 DL: 247,12 Mbps UL: 427,34 Mbps PING: 14 ms LOSS: 0,00 % ISP: 91.XXX.XX.XX (Free SAS) SERVER: Nice ; id = 08195 (62.XXX.XX.XXX)
15/08/2021 12:59 +02:00 DL: 199,04 Mbps UL: 403,99 Mbps PING: 14 ms LOSS: 0,00 % ISP: 91.XXX.XX.XX (Free SAS) SERVER: Nice ; id = 08195 (62.XXX.XX.XXX)
15/08/2021 13:00 +02:00 DL: 481,64 Mbps UL: 134,18 Mbps PING: 13 ms LOSS: 0,00 % ISP: 91.XXX.XX.XX (Free SAS) SERVER: Nice ; id = 08195 (62.XXX.XX.XXX)
15/08/2021 13:01 +02:00 DL: 421,28 Mbps UL: 437,63 Mbps PING: 14 ms LOSS: 0,00 % ISP: 91.XXX.XX.XX (Free SAS) SERVER: Nice ; id = 08195 (62.XXX.XX.XXX)
15/08/2021 13:02 +02:00 DL: 297,65 Mbps UL: 382,15 Mbps PING: 14 ms LOSS: 0,00 % ISP: 91.XXX.XX.XX (Free SAS) SERVER: Nice ; id = 08195 (62.XXX.XX.XXX)
15/08/2021 13:03 +02:00 DL: 223,35 Mbps UL: 336,87 Mbps PING: 14 ms LOSS: 0,00 % ISP: 91.XXX.XX.XX (Free SAS) SERVER: Nice ; id = 08195 (62.XXX.XX.XXX)
15/08/2021 13:04 +02:00 DL: 185,46 Mbps UL: 372,53 Mbps PING: 13 ms LOSS: 0,00 % ISP: 91.XXX.XX.XX (Free SAS) SERVER: Nice ; id = 08195 (62.XXX.XX.XXX)
4G Free :
15/08/2021 12:54 +02:00 DL: 30,83 Mbps UL: 31,24 Mbps PING: 59 ms LOSS: 0,00 % ISP: 37.XXX.XX.X (Free Mobile SAS) SERVER: Paris ; id = 24215 (montsouris3.speedtest.orange.fr) URL: https://www.speedtest.net/result/c/656f8375-6b8b-4f75-af84-08d721a1c48a
15/08/2021 12:55 +02:00 DL: 36,99 Mbps UL: 33,45 Mbps PING: 80 ms LOSS: 0,00 % ISP: 37.XXX.XX.X (Free Mobile SAS) SERVER: Paris ; id = 06027 (lg.par-c.fdcservers.net) URL: https://www.speedtest.net/result/c/bcc2b371-b279-4def-bc7c-bd52e8beaa8b
15/08/2021 12:56 +02:00 DL: 44,68 Mbps UL: 31,38 Mbps PING: 80 ms LOSS: 0,00 % ISP: 37.XXX.XX.X (Free Mobile SAS) SERVER: Paris ; id = 27961 (perf.keyyo.net) URL: https://www.speedtest.net/result/c/42e26d74-858f-42d1-b7b0-175278108e62
15/08/2021 12:57 +02:00 DL: 39,31 Mbps UL: 31,39 Mbps PING: 80 ms LOSS: 0,00 % ISP: 37.XXX.XX.X (Free Mobile SAS) SERVER: Paris ; id = 37862 (speedtest.rotvusca.com) URL: https://www.speedtest.net/result/c/2b849a40-0641-4829-9c3f-e57568f95cb5
15/08/2021 12:58 +02:00 DL: 54,77 Mbps UL: 32,13 Mbps PING: 80 ms LOSS: 0,00 % ISP: 37.XXX.XX.X (Free Mobile SAS) SERVER: Paris ; id = 37862 (speedtest.rotvusca.com) URL: https://www.speedtest.net/result/c/afefa77d-511b-4293-be82-2cd52c35439f
15/08/2021 12:59 +02:00 DL: 68,92 Mbps UL: 29,86 Mbps PING: 55 ms LOSS: 0,00 % ISP: 37.XXX.XX.X (Free Mobile SAS) SERVER: Paris ; id = 12746 (speedtest.mire.sfr.net) URL: https://www.speedtest.net/result/c/bc76c9a9-efb3-4ada-9c46-9693a07d8e0d
15/08/2021 13:00 +02:00 DL: 37,49 Mbps UL: 30,43 Mbps PING: 77 ms LOSS: 0,00 % ISP: 37.XXX.XX.X (Free Mobile SAS) SERVER: Paris ; id = 33869 (speedtest.lekloud.net) URL: https://www.speedtest.net/result/c/437d1f01-26da-4eff-ad22-a6aa91498ad1
15/08/2021 13:01 +02:00 DL: 24,43 Mbps UL: 30,40 Mbps PING: 79 ms LOSS: 0,00 % ISP: 37.XXX.XX.X (Free Mobile SAS) SERVER: Paris ; id = 27961 (perf.keyyo.net) URL: https://www.speedtest.net/result/c/4b32067b-6fda-41d5-9da6-df0744a7bb70
15/08/2021 13:02 +02:00 DL: 69,01 Mbps UL: 31,75 Mbps PING: 80 ms LOSS: 0,00 % ISP: 37.XXX.XX.X (Free Mobile SAS) SERVER: Paris ; id = 36311 (ookla.unyc.io) URL: https://www.speedtest.net/result/c/7fb75d01-54b0-4e94-9320-d0697799ec22
15/08/2021 13:03 +02:00 DL: 28,31 Mbps UL: 30,82 Mbps PING: 78 ms LOSS: 0,00 % ISP: 37.XXX.XX.X (Free Mobile SAS) SERVER: Paris ; id = 37862 (speedtest.rotvusca.com) URL: https://www.speedtest.net/result/c/e49a937c-5a5f-43c0-bd4e-96700cb81cfd
15/08/2021 13:04 +02:00 DL: 32,02 Mbps UL: 33,26 Mbps PING: 66 ms LOSS: 0,00 % ISP: 37.XXX.XX.X (Free Mobile SAS) SERVER: Paris ; id = 27961 (perf.keyyo.net) URL: https://www.speedtest.net/result/c/b1028aee-5148-412c-b6b0-32551a5b2130
Connectez-vous ou Inscrivez-vous pour répondre.
- 4,364 Utilisateurs
- 5,924 Discussions
- 47,381 Réponses
Réponses
J'ai fait un fichier pour tableur en csv à la place du txt :
remplacer la ligne 4 par