SKY-OUTPUT

メーカー子会社勤務のSEがガジェットレビューや仕事で学んだこと、ライフスタイルについて書くブログ。システム開発関係の記事では丁寧に解説していきます。最近はバッチばかり作ってる。

リモートデスクトップ接続バッチ

プロジェクトによっては複数のサーバーにリモートデスクトップ接続することがあると思います。

私が経験したプロジェクトでは、多くのサーバーに接続し、必要なファイルをダウンロードしてきて、新旧比較を行ったりしていました。

そこで、接続するリモートデスクトップ接続を選択して自動で接続できるバッチを作ってみました。

 

ソースコード

@echo off
setlocal

:start
echo リモートデスクトップに接続します。
echo サーバー1号機:1
echo サーバー2号機:2
echo サーバー3号機:3

set /p p="> "
If %p%==1 (
  SET SERVER=XXX
  SET USERNAME=XXX
  SET PASSWORD=XXX
) else if %p%==2 (
  SET SERVER=XXX
  SET USERNAME=XXX
  SET PASSWORD=XXX
) else if %p%==3 (
  SET SERVER=XXX
  SET USERNAME=XXX
  SET PASSWORD=XXX
) else (
  echo 指定されたキーは存在しません。
  pause
  cls
  goto start
)

echo リモートデスクトップの接続を開始します。
Cmdkey /generic:TERMSRV/%SERVER% /user:%USERNAME% /pass:%PASSWORD%
Start mstsc /v:%SERVER%
Timeout 2
Cmdkey /delete:TERMSRV/%SERVER%
pause
exit

 

解説

事前にリモートデスクトップ接続したいサーバー(PC)の情報をバッチファイルに組み込んで置き、バッチファイルを起動し、指定した番号を入力するとリモートデスクトップ接続できる内容となっております。指定したキーと一致しない場合は、再び入力状態に戻ります。

各変数については以下のとおりです。

・SERVERで接続したいサーバーのIPアドレスまたはホスト名を設定する。

・USERNAMEで接続したいユーザーのユーザ名を設定する。

・PASSWORDで接続したいユーザーのパスワードを設定する。

下記コマンドでリモートデスクトップの接続情報を設定する。

Cmdkey /generic:TERMSRV/%SERVER% /user:%USERNAME% /pass:%PASSWORD%

下記コマンドでリモートデスクトップの接続を行う。

Start mstsc /v:%SERVER%

 

更新履歴

2019年5月19日:初版