MR2オーナー吉田貴幸のブログ

MR2(SW20)オーナー吉田貴幸のブログ。仕事はITインフラエンジニア。愛車の記事とIT関連の情報を発信しています

【Windows】 [バッチ] 資格情報を指定してリモートデスクトップ接続する

 

説明

Windowsのリモートデスクトップ接続(mstsc.exe)を使用して、サーバーやリモートPCにリモートデスクトップ接続する際に、初回接続時にユーザー名とパスワードを要求されて認証が必要になってしまいますが、資格情報を事前に指定することで、資格情報の要求なしに接続することが出来ます。

システム管理をしていると、GUIで操作をしていると何かと煩雑になることがあるので、これをバッチにしておき、毎回認証要求なしにリモートデスクトップ接続をできるようにしました。

 

また、初めてリモートデスクトップ接続先サーバーに接続した際に「このリモートコンピュータの IDを識別できません。」のメッセージが出ることがあるので、あらかじめレジストリにキーを追加しておき、メッセージの表示を回避します。(ポリシーの設定により出ない場合もあります)

 

なお、バッチファイルではリモートデスクトップ接続後に、追加した資格情報及びレジストリの削除しています。

 

使い方

1.下記をコピーして、ファイル名を「mstsc.bat」 で保存します。

  • mstsc.bat
@Echo off
REM ############################
REM #接続先情報
REM ############################
Set SERVERNAME=%1
Set PORT=3389
Set USERNAME=%2
Set PASSWORD=%3

if ""%1""=="""" goto error
if ""%2""=="""" goto error
if ""%3""=="""" goto error


REM ############################
REM #このリモートコンピュータの
REM #IDを識別できません。を回避
REM #レジストリ追加
REM ############################
reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client" /v AuthenticationLevelOverride /t REG_DWORD /d 0 /f

REM ############################
REM #資格情報の設定
REM ############################
Cmdkey /generic:TERMSRV/%SERVERNAME% /user:%USERNAME% /pass:%PASSWORD%
Timeout 1

REM ############################
REM #リモートデスクトップ接続
REM ############################
Start mstsc /v:%SERVERNAME%:%PORT%
Timeout 5

REM ############################
REM #設定した資格情報を削除する
REM ############################
Cmdkey /delete:TERMSRV/%SERVERNAME%

REM ############################
REM #このリモートコンピュータの
REM #IDを識別できません。を回避
REM #レジストリ削除
REM ############################
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client" /v AuthenticationLevelOverride /f

goto end


:error
ECHO 【使い方】mstsc.bat <接続先コンピュータ名> <接続ユーザーアカウント> <接続ユーザーパスワード>
ECHO.

:end

 ※うまく動かない場合、バッチファイル内の「Timeout」コマンドのスリープ時間を調整してください。

 

 

2.コマンドプロンプトを開き、下記のコマンドを実行します。

バッチ保存先パス\mstsc.bat <接続先コンピュータ名> <接続ユーザーアカウント> <接続ユーザーパスワード>

 

  • 実行結果例
C:\Users\xxxxx>C:\Users\xxxxx\デスクトップ\mstsc.bat pcname admin adminpw
この操作を正しく終了しました。

CMDKEY: 資格情報を正しく追加しました。

0 秒待っています。続行するには何かキーを押してください ...

0 秒待っています。続行するには何かキーを押してください ...

CMDKEY: 資格情報を正しく削除しました。
この操作を正しく終了しました。
C:\Users\xxxxx>