1. 批處理實現自動遠程連接
@Echo off
Set SERVER=172.168.1.66
Set USERNAME=sunhaibo
Set PASSWORD=123456
Cmdkey /generic:TERMSRV/%SERVER% /user:%USERNAME% /pass:%PASSWORD%
Start mstsc /v:%SERVER%
Timeout 3
Cmdkey /delete:TERMSRV/%SERVER%
@Echo off
Set SERVER=172.168.1.55
Set USERNAME=sunming
Set PASSWORD=123asd
Cmdkey /generic:TERMSRV/%SERVER% /user:%USERNAME% /pass:%PASSWORD%
Start mstsc /v:%SERVER%
Timeout 3
Cmdkey /delete:TERMSRV/%SERVER%
2. 代碼實現(C#)
/// <summary>
/// リモートデスクトップを接続する処理
/// </summary>
private static void RemoteConnect()
{
try {
logger.Info("リモートデスクトップを接続する処理 開始");
// リモートデスクトップが接続されていない場合
if (remoteDesktopForm.axMsRdpClient9NotSafeForScripting.Connected == (int)CommonConst.RDP_Connect_Status.RDP_DISCONNECT) {
// リモートデスクトップ接続
remoteDesktopForm.axMsRdpClient9NotSafeForScripting.Server = 172.16.11.22;
remoteDesktopForm.axMsRdpClient9NotSafeForScripting.UserName = rdpUserName;
remoteDesktopForm.axMsRdpClient9NotSafeForScripting.AdvancedSettings2.RDPPort = 3389;;
remoteDesktopForm.axMsRdpClient9NotSafeForScripting.AdvancedSettings2.ClearTextPassword = rdpPassword;
remoteDesktopForm.axMsRdpClient9NotSafeForScripting.AdvancedSettings7.EnableCredSspSupport = true;
remoteDesktopForm.axMsRdpClient9NotSafeForScripting.Connect();
logger.Info("リモート接続を実行する。(ユーザーID = " + rdpUserName + ")");
}
}
catch (Exception ex) {
// ログ出力
logger.Error("リモート接続を実施する時、異常が発生する。(" + ex.Message + ")");
}
finally {
logger.Info("リモートデスクトップを接続する処理 終了");
}
}
/// <summary>
/// リモート接続を切斷する処理
/// </summary>
private void RemoteDisconnect()
{
logger.Info("リモート接続を切斷する処理 開始");
// RDP コントロールコントロールが接続されていない場合
if (remoteDesktopForm.axMsRdpClient9NotSafeForScripting.Connected == (int)CommonConst.RDP_Connect_Status.RDP_DISCONNECT) {
return;
}
// RDP コントロールの接続を確立している場合
while (remoteDesktopForm.axMsRdpClient9NotSafeForScripting.Connected == (int)CommonConst.RDP_Connect_Status.RDP_ESTABLISHING_CONNECT) {
Thread.Sleep(100);
}
// コントロールが接続されている場合
if (remoteDesktopForm.axMsRdpClient9NotSafeForScripting.Connected == (int)CommonConst.RDP_Connect_Status.RDP_CONNECTED) {
// リモート接続を切斷する
remoteDesktopForm.axMsRdpClient9NotSafeForScripting.Disconnect();
}
logger.Info("リモート接続を切斷する処理 終了");
}
3. mstsc.exe
要事先獲取到加密後的登錄密碼進行配置 rdp 文件
mstsc.exe でにリモート デスクトップを自動的接続する方法:まずmstsc.exe にユーザー名とパスワードで一回に接続する。接続するとき、コンピューターとユーザー名を入力し、警告メッセージを表示しないで設定し、接続用の .RDP ファイルを保存する。パスワードが他のAPPで暗號化にし、接続ファイル .RDP に追加する。コマンドで「mstsc.exe [<接続ファイル>] [/v: サーバー[:ポート]]」を実行し、リモート デスクトップが自動的に接続することが実現できる。
自動連接登錄時,要先作成 mstsc.exe 登錄時保存的rdp文件,通過命令【mstsc.exe [<接續用的 .RDP 文件名>] [/v: 要連接的遠程PC]】可以實現遠程登錄。
在“詳細設定”這個項目中可以選擇,不顯示警告
密碼是後期手動補上的加密後的密碼。
full address:s:遠程桌面地址
username:s:用戶名
password 51:b:加密後的密碼
各方法優劣對比