Windowsバッチファイルでリモートデスクトップを自動ログインする


複数のWindowsを管理利用していると、毎回リモートデスクトップのログイン情報を入力するのが煩わしくなってくる。
セキュリティ的には毎回入力した方がいいんだけど、機械的に台数をこなすにはバッチファイルが便利なので作成してみた。

RDP自動ログインバッチ

指定のサーバに自動でリモートデスクトップをする

1台ずつリモートデスクトップをする必要がある場合はこれが便利。

autordp.bat
@echo off
Set SERVER=<ホスト名 or IPアドレス>
Set USERNAME=<ユーザ名>
Set PASSWORD="<パスワード>"

Cmdkey /generic:TERMSRV/%SERVER% /user:%USERNAME% /pass:%PASSWORD%
Start mstsc /v:%SERVER%
Timeout 3
Cmdkey /delete:TERMSRV/%SERVER%

趣旨とは外れているが、ユーザとパスワードを毎回入力したい場合はこちら

autordp.bat
@echo off
Set SERVER=<ホスト名 or IPアドレス>
Set /P USERNAME=user
Set /P PASSWORD=pass

Cmdkey /generic:TERMSRV/%SERVER% /user:%USERNAME% /pass:%PASSWORD%
Start mstsc /v:%SERVER%
Timeout 3
Cmdkey /delete:TERMSRV/%SERVER%

CSVファイルを使って複数台リモートデスクトップをする

まずはCSVファイルを作成します。

rdplist.txt
<ホスト名 or IPアドレス>,<ユーザ名>,<パスワード>

次はスクリプトです。
先ほどのスクリプトからログイン情報を削除して、ファイルを読み込み、ループでログイン情報に埋め込んで処理していきます。

autordp.bat
@echo off
for /F "delims=, tokens=1-3" %%i in (rdplist.txt) do (
Cmdkey /generic:TERMSRV/%%i /user:%%j /pass:%%k
Start mstsc /v:%%i
Timeout 3
Cmdkey /delete:TERMSRV/%%i
)

これで複数台に自動ログインができるようになります。

パスワードを記載することからセキュリティ観点としては低いものになります。
あくまで個人利用でお願いします。