プロジェクトの定例会議でZoomを使っているのですが、会議のたびに
Zoom起動 → ID入力 → パスワード入力
を毎回やるのが面倒になってきたので、どうにか自動化できないかと思い調べました。
自分の備忘のために記録します。
※2022/4/26 PowershellでID/PWが書かれたCSVを読み込んで表示する方法について追記しました
コマンド
Zoom会議に参加する時
start zoommtg:"//zoom.us/join?confno=<会議ID>&pwd=<パスワード>"
※<会議ID>、<パスワード>は読み替えてください
※自分がホストの時の会議はパスワードは不要です
これをBatで作るだけ。とっても簡単。
参考にしたサイト
以下のサイトを参考にしました。ありがとうございます。
おまけ
タスクスケジューラで会議が始まる時間に勝手に起動させる方法は、こちらのサイト に載っていました。
起動時のオプションについては以下のサイトで語られていますが、特に気にしなくても上のコマンドだけで十分そうです。
2022/4/26 追記 会議ID/パスワードが書かれたCSVを読み込んで表示するPowershellコマンド
Zoom会議毎にバッチを作るのはイマイチだったので、自分が使いやすいようPowershellで実装したものを共有します。プログラミングのセンスはないのでもっと良い感じに改造してあげてください。
また、利用する際は間違ってID/PWが漏洩しないようにCSVファイルの取り扱いには十分注意してください。(自己責任です)
使い方
- zoommtg.csvに会議名、会議ID、パスワードを記載する
- zoommtg.csvをzoomJoin.ps1と同じフォルダに格納する
- zoomJoin.ps1を起動する
- zoommtg.csvの内容が一覧表示されるので、接続したい会議を選んでOKを押す
- Zoom会議に接続される
name,id,pw
会議A,01234567890,111111
会議B,11111111111,222222
会議C,99999999999,999999
# [System.Windows.MessageBox]を使用するためにインポート。使わないなら不要。
Add-Type -Assembly System.Windows.Forms
# Zoom会議の情報を格納する配列、オブジェクトを定義
$zoomMtgs = @()
class CustomObject {
[string] $name
[string] $id
[string] $pw
}
# Zoom会議一覧の取得
# zoommtg.csvはこのファイルと同じディレクトリに置くこと
if (Test-Path "${PSScriptRoot}\zoommtg.csv") {
$csvFile=@(Import-CSV "${PSScriptRoot}\zoommtg.csv")
}else{
$result = [System.Windows.MessageBox]::Show("プログラムと同じフォルダにzoommtg.csvが存在することを確認してください。","確認","OK","Warning")
return
}
# csvデータをオブジェクト、配列に格納
foreach($data in $csvFile){
$zoom = New-Object CustomObject
$zoom.name = $data.name
$zoom.id = $data.id
$zoom.pw = $data.pw
$zoomMtgs += $zoom
}
if ($zoomMtgs.Length -eq 0) {
$result = [System.Windows.MessageBox]::Show("会議情報がありません。","確認","OK","Warning")
return
}
# Zoom会議一覧をGridViewで表示して、接続したい会議を選択してもらう
$selected = ($zoomMtgs | select name,id,pw | Out-Gridview -Title "zoom会議一覧" -OutputMode Single)
# 選択されたZoom会議の情報で接続する
if ($selected) {
$name = $selected.name
$id = $selected.id
$pw = $selected.pw
# 接続前に確認画面を出したかったら以下を使う
# $result = [System.Windows.MessageBox]::Show("次の会議に参加しますか?`n 会議名:${name}`n 会議ID:${id}`n パスワード:${pw}", "確認", "OKCancel", "Question", "1")
$result = "OK"
if($result -eq "OK"){
start zoommtg:"//zoom.us/join?action=join&confno=${id}&pwd=${pw}"
}else{
return
}
}else{
return
}