見出し画像

PowerShell ネット速度を測る(速度測定を自動化したい)

PowerShellでネット速度を測る方法はないか?
スクレイピングしかないかな?コマンドでできないの?
と思って調べてみたらコマンドでできたのでメモとして記事にしました。


準備

wingetコマンドでSpeedTestをインストールします。

#wingetOokla.Speedtest.CLIを導入
winget install Ookla.Speedtest.CLI

実行画面がこちら

PS C:\temp> winget install Ookla.Speedtest.CLI
見つかりました Speedtest CLI [Ookla.Speedtest.CLI] バージョン 1.2.0
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
ダウンロード中 https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-win64.zip
██████████████████████████████   951 KB /  951 KB
インストーラーハッシュが正常に検証されました
アーカイブを展開しています...
アーカイブが正常に展開されました
パッケージのインストールを開始しています...
パス環境変数が変更されました; 新しい値を使用するにはシェルを再起動してください。
コマンド ライン エイリアスが追加されました: "speedtest"
インストールが完了しました


インストール後、1度だけターミナル画面をで閉じて、開きなおします。


そしてspeedtestを実行します。

PS C:\temp> speedtest
==============================================================================

You may only use this Speedtest software and information generated
from it for personal, non-commercial use, through a command line
interface on a personal computer. Your use of this software is subject
to the End User License Agreement, Terms of Use and Privacy Policy at
these URLs:

        https://www.speedtest.net/about/eula
        https://www.speedtest.net/about/terms
        https://www.speedtest.net/about/privacy

==============================================================================

Do you accept the license? [type YES to accept]:

ここでYESと入力すると

Do you accept the license? [type YES to accept]: YES
License acceptance recorded. Continuing.


   Speedtest by Ookla

      Server: Rakuten Mobile, Inc - Tokyo (id: 24333)
         ISP: Rakuten Mobile Network
Idle Latency:    29.94 ms   (jitter: 9.27ms, low: 28.09ms, high: 45.53ms)
    Download:    32.25 Mbps (data used: 41.1 MB)
                414.21 ms   (jitter: 96.41ms, low: 41.93ms, high: 703.36ms)
      Upload:    33.39 Mbps (data used: 30.9 MB)
                718.73 ms   (jitter: 100.73ms, low: 69.92ms, high: 1092.29ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/cb0cd616-78c8-a961-4df3-a70b0c3a158c

このようにスピードが表示されます。
(2回目からはYESの入力はいりません)


URLが表示されていますが、そこへ飛んでみるとこのようになります。


JSON形式で結果を受け取ることもできます

# JSON形式で結果を得るには
speedtest -f json-pretty

# またはこちら
speedtest -f json


JSON形式で結果を受け取ってダウンロードとアップロードのスピードを表示

$res = speedtest -f json-pretty
$json = $res | ConvertFrom-Json
write-host "Download:" ($json.download.bytes / 1024 /1024) "Mbps"
write-host "Upload:" ($json.upload.bytes / 1024 /1024) "Mbps"

実行するとこのようになります

PS C:\temp> $res = speedtest -f json-pretty
$json = $res | ConvertFrom-Json
write-host "Download:" ($json.download.bytes / 1024 /1024) "Mbps"
write-host "Upload:" ($json.upload.bytes / 1024 /1024) "Mbps"

Download: 192.134714126587 Mbps
Upload: 142.96079826355 Mbps




#PowerShell #速度測定 #ネット速度 #コマンドレット #プログラミング初心者 #プログラミング初心者 #回線速度 #毎日Note



この記事が気に入ったらサポートをしてみませんか?