💬

Teamsで5分経過しても退席中ステータスにさせない方法

2025/03/05に公開

はじめに

Teamsではデフォルトで5分放置するとステータスが退席中となります。色々調べてみましたが、Teams側の設定で5分放置してもオンラインとしておくようなことはできなそうなので、VBSスクリプトで対策したという内容です。

スクリプトサンプル

テキストエディタにて、以下内容を[任意のファイル名.vbs]というファイル名で作成します。

Set objShell = WScript.CreateObject("WScript.Shell")
Do
  WScript.Sleep 1000*60*3
  objShell.SendKeys "+"
Loop

あとはファイルをダブルクリックして実行するだけです。
パット見何も反応がないように見えますが、バックグラウンドでは実行されています。
OSシャットダウンでタスクは終了します。

解説

やっていることはシンプルで、3分おきにShiftキーを押すということをスクリプトで繰り返し実施しているだけです。

  • 1行目
    WScriptのCreateObjectメソッドを呼び出します。
  • 2,5行目
    Do Loop文で繰り返しを定義しています。
  • 3行目
    3分待機するという意味です。
    ミリ秒で指定するため、100060n とすることで、n分待機する動作となります。直接数値(180000)を指定しても問題ありません。
  • 4行目
    Sendkeys にてキー押下を一瞬実行します。"+"はShiftキーのことです。

なお、Shiftキーの入力判定は一瞬なので、タイピング時に干渉するようなことは基本的にはないと思います。

Discussion