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ライフを!
コメント