Mstsc.exeを使用して、バッチファイルで他のサーバーへのRDP接続を確立します。バッチファイルは、いくつかのタスクが実行された後に終了します。これは基本的には正常に機能しますが、接続のセットアップにmstsc.exeが非常に長い時間がかかる場合があります。 mstscがリンクのセットアップを正常に完了し、RDP接続を使用できることを確認/ヒントする方法はありますか?
ターゲットシステムのセキュリティログを照会することにより、RDPログオンが成功したかどうかを確認できます。ログオンイベントはID4624、RDPログオンはタイプ10です。その他のログオンタイプ https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventid=4624
$user2find = "santaClaus"
$target = "server1234"
Get-winevent -comp $target -FilterHashtable @{Logname='security'; ID=4624; starttime=(get-date).addMinutes(-5)} | where {$_.properties[8].value -eq 10 -and $_.properties[5].value -eq $user2find}
バッチファイルを使用している場合は、netstatがおそらく頼りになるツールです。 mstsc /admin /v:SERVERNAME
を実行しているとすると、次のコマンドでその行をたどることができます。
netstat | findstr "ms-wbt-server"
「ms-wbt-server」はRDP接続を示し、findstrコマンドの%errorlevel%出力をチェックして、文字列が見つかったかどうかを確認できます。エラーレベルが0の場合、エラーが検出されたため、続行できます。エラーレベルが1の場合、文字列は見つかりませんでした。