Page cover

リモートデスクトップ使用状況確認Bot

おそらくメンテは不要ですが一応書いておきます。リモートデスクトップは基本的に誰かひとりしか使えない仕様なので、誰が使っているかをメンバーにお知らせするものです。

概要

Windows serverには qwinsta というコマンドがあり、このコマンドを使うとリモートデスクトップの使用状況を確認できます。

このコマンドを20秒に1回実行し、リモートデスクトップの使用状況を確認します。

確認して使用状況が変わったらDiscordにてメッセージを送信します。

ライブラリ

外部のライブラリは以下の2つ

他のライブラリはpython3に内蔵されています

変数

1. DISCORD_WEBHOOK_URL

そのまま。DiscordのWebhookのURLをいれてください。

2. TARGET_ACCOUNT

Windows serverにログインするときに使うアカウントの名前。おそらくデフォルトのままだと Administratorだと思います。

関数

1. prompt_user_name

ユーザーネーム入力画面の表示メニュー

2. send_discord_message

Discordのwebhook URLにPostリクエストを送ります。jsonの形式で送信します。

3. check_rdp_sessions

リモートデスクトップの使用状況を確認します。subprocessでqwinstaコマンドを定期的に実行し、リモートデスクトップの使用状況を更新します。

already_sent

既に通知が送信されているかどうかを保存します(これがないと無限にメッセージが送られ続けるので)。

previous_state

前回のリモートデスクトップの使用状況を保存します。

Last updated