【Zoom】再接続を自動化し40分以上の会議を行う方法を紹介!【PowerShell】

PowerShell
スポンサーリンク

Zoomへの再接続を自動化しよう!

この記事はこんな方におすすめ!
  • 40分以上の会議での再接続が面倒
  • Zoomへの接続を自動化したい
スポンサーリンク

【Zoom】再接続を自動化し40分以上の会議を行う方法を紹介!

40分以上の会議ではZoomが切れたら再接続するという習慣はありませんか?

そんなZoomの起動と再接続を自動化するスクリプトを紹介しています。

面倒だな、自動化したいなと思われている方のお役に立てれば幸いです。

はじめに

Zoomの時間制限

Zoomの会議を3人以上で行う場合、無料アカウントでは40分の時間制限があります。
(2人なら24時間だそうです。)
有料アカウントでは3人以上でも時間制限は24時間です。

※2022/5/2より、2人での会議でも40分制限になったそうですね。。。

再接続は面倒だった話

40分以上の会議ではZoomが切れたら再接続するという習慣がありました。

Zoomのリンクはマイパーソナルミーティングのため同じリンクIDに再接続していました。

再接続するたびに手作業での操作が面倒で
「Zoomが切断されたら再接続を自動でしてくれよ」と感じる日々でした。

結構な頻度で再接続する機会が多かったのでPowerShellを使って自動化してみました。

ですが、有料アカウントにすればすべて解決する話です。
小ネタとして見ていただければ幸いです。

自動化スクリプト

Zoom切断時に再接続するスクリプト

##########################################################################
# ファイル名:ReconnectZoomMTG.ps1
# 機能概要:指定のミーテイングを起動し、切断時に再接続を行います。
##########################################################################

# ミーテイングのidとpasswordを指定
$id = "9999999999"
$password = "******"

Write-Host "======================================================================="
Write-Host "機能概要:指定のミーテイングを起動し、切断時に再接続を行います。"
Write-Host "終了方法:再接続が不要の場合は「Ctrl+C」でスクリプトを終了させてください。"
Write-Host "======================================================================="

try{
    Write-Host "ミーテイングを起動します。"
    Start-Process zoommtg:"//zoom.us/join?confno=$id&pwd=$password"
    Start-Sleep -Seconds 10

    $startProcessID = (Get-Process -ProcessName zoom).id
    
    # ミーテイングの切断を検知したら再接続を行う
    while($true){
        Start-Sleep -Seconds 5
        $runtimeProcessID = (Get-Process -ProcessName zoom).id
        if($null -ne (Compare-Object $runtimeProcessID $startProcessID)){
            Write-Host "ミーテイングの切断を検知しました。再接続を行います...("(Get-Date)")"
            Start-Process zoommtg:"//zoom.us/join?confno=$id&pwd=$password"
            Start-Sleep -Seconds 10
        }
        $startProcessID = $runtimeProcessID
    }
}
catch{
    Write-Host "予期せぬエラーが発生しました。"
}
finally{
    Write-Host "スクリプトを終了します。"
    Pause
}

使用方法

準備

スクリプトを保存し、idとpasswordをご自身の接続先のものに書き換えてください。
※パスワードはリンクにある暗号化されたものでも、平文でもどちらでもOKです。

スクリプト実行

Windows PowerShellを立ち上げて、保存したスクリプトを実行してください

スクリプト終了

もう再接続しなくていい場合は「Ctrl+C」で強制終了させてください

解説

上記のスクリプトを要約すると、
「Zoomのプロセスを5秒ごとに確認し、切断されていたら再接続しに行く」というものです。

切断されたかの鍵はプロセスIDにあります。
再接続するか判断するのにプロセスIDに着目しました。
ZoomではMTG参加前に既にMTG用の1つプロセスを持っています。
MTGを退出した際に別のプロセスに変わります。
なのでプロセスIDの差異を確認することで切断されたことを検知できます。

シンプルにZoomに自動接続するコマンドは以下の通りです。

$id = "9999999999"
$password = "******"
Start-Process zoommtg:"//zoom.us/join?confno=$id&pwd=$password"

まとめ

PowerShellでZoomの起動、再接続を自動化しました。

最後までお読みいただきありがとうございました。
どなたかのお役に立てれば幸いです。

では、素敵なZoomライフを!

コメント

タイトルとURLをコピーしました