MSTSC:遠程控制和訪問的終極 CLI 工具

在今天快速發展的IT世界中,遠程訪問對於無縫連接和高效運營是必需的。幸運的是,使用Microsoft Terminal Server Client(MSTSC),您可以遠程訪問並控制另一台電腦。

MSTSC是運行遠程桌面以遠程訪問主機或服務器的命令。在本教程中,您將學習使用MSTSC進行遠程訪問的基本知識和其功能的概述。

準備好了嗎?繼續閱讀,提升您的遠程控制技能!

先決條件

本教程設計為實際演示。要跟隨操作,您需要一台本地和一台遠程的Windows主機。本教程使用Windows 10專業版作為兩台主機的操作系統。

請注意,您的遠程主機必須使用Windows Pro操作系統才能允許遠程桌面連接。如果您使用的是Windows Home,請在繼續本教程之前升級到Windows Pro:
將Windows 10 Home升級到Windows 10 Pro
將Windows Home升級到Windows Pro

啟用遠程桌面協議(RDP)

RDP是由Microsoft開發的一種協議,允許用戶通過網絡遠程訪問基於Windows的電腦或服務器。使用RDP,您可以連接到遠程計算機並像坐在它前面一樣使用其資源。

要在Windows上啟用RDP,請按照以下步驟進行:

1. 以系統管理員身份在遠程服務器上打開PowerShell,並確保工作目錄為C:\Windows\System32

2. 接下來,執行以下./reg add命令以提供需要確認的註冊表修改(-f)。

此命令啟用遠程桌面連接,具體如下:

  • "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" 控制終端服務設置的註冊表鍵路徑。
  • /v – 指定要修改的值的名稱。在這種情況下,fDenyTSConnections 值控制是否允許或拒絕遠程桌面連接。
  • /t – 指定要修改的數據類型,這種情況下是一個雙字(DWORD)數據類型(REG_DWORD)。
  • /d – 將 fDenyTSConnections 鍵的值設置為 0,允許遠程桌面連接。
./reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
Enabling Remote Desktop connections in the registry

3. 現在,運行以下 ./netsh advfirewall 命令以 set 允許遠程桌面連接的 firewall 規則。此命令確保 Windows 防火牆不會阻擋通過 RDP 的遠程桌面流量。

./netsh advfirewall firewall set rule group="remote desktop" new enable=yes
Setting a firewall rule to allow Remote Desktop connections

也許您不再需要遠程訪問 Windows 機器,並且想要提高機器的安全性。如果是這樣,運行以下命令以阻止遠程桌面流量的進入。

./reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f
./netsh advfirewall firewall set rule group="remote desktop" new enable=No

以全屏模式連接到遠程主機

Microsoft 的遠端桌面連線客戶端提供了一個使用者友好的圖形介面,非常出色。但是圖形介面可能不是快速存取遠端主機的最有效解決方案。

幸運的是,MSTSC 提供了一個命令列介面(CLI),可以讓您只需一個命令就能直接連接並控制您的 RDP 伺服器。此外,MSTSC 還支援全螢幕模式,讓您可以看到更多遠端桌面會話,以便更高效地工作。

要以全螢幕模式連接到遠端主機:

在本機機器上開啟 PowerShell,並執行下列其中一個 ./mstsc 命令以連接到遠端主機。

請確保相應地替換以下內容:

  • <IP_Address> – 遠端主機的實際公共 IP 位址。
  • <Port> – 除了預設埠(3389)之外,您配置的遠端主機使用的埠號。否則,省略埠號以自動使用預設埠。
# 使用配置的 RDP 埠連接到遠端主機
./mstsc /v:<IP_Address>:<Port> /f
# 使用預設 RDP 埠(3389)連接到遠端主機
./mstsc /v:<IP_Address> /f

如果您希望無論工作目錄為何都能運行 mstsc 命令,請將 MSTSC 的路徑(C:\Windows\System32\mstsc)添加到 PATH 環境變數中。添加後,您可以像下面這樣運行命令:mstsc /v:<IP_Address>:<Port> /f

在提示時,提供您的遠端主機憑證,如下所示,然後點擊確定以驗證連接。

Authenticating the remote desktop connection

下面的輸出顯示了全螢幕模式的遠端桌面連線。

Viewing a remote desktop connection in full-screen mode

自訂遠端桌面連線的解析度

您已經了解如何以全螢幕模式連接到遠端主機,這有助於您使用許多工具。但請注意,遠端桌面會話的解析度可能與本地顯示器的解析度不匹配。

自訂遠端連接的解析度允許您調整遠端桌面會話的大小。

要自訂遠端桌面連線的解析度:

運行以下命令以使用自訂寬度 (/w) 和高度 (/h) 連接到您的遠端主機。將 <Width><Height> 替換為表示您所需像素解析度的值。

此命令確保遠端桌面會話舒適地適應您的屏幕,並且文字、圖像和其他元素都清晰可讀。

./mstsc /v:<IP_Address>:<Port> /w:<Width> /h:<Height>

請注意下面的遠端桌面會話就像一個常規窗口一樣,您可以將其最大化到指定解析度的限制。

Customizing the resolution for Remote Desktop connections

自動匹配本地顯示解析度

自定義您的遠程桌面連接的分辨率,如果您熟悉正確的值,這樣做效果很好。但是如果您希望匹配本地顯示器的分辨率呢?/span標誌會派上用場,這被稱為遠程桌面連接的“跨越”模式。

運行以下命令,附加/span標誌,以匹配本地顯示器的分辨率連接到遠程主機。

當啟用跨越模式時,MSTSC會自動檢測本地顯示器的分辨率,並調整遠程連接的分辨率以匹配它。

./mstsc /v:192.168.1.100 /span
Matching to local display resolution automatically

以公共模式連接到遠程主機

除了在全屏和跨越模式下連接到遠程主機之外,您還可以以公共模式連接到遠程主機。當從多個用戶共享的公共計算機連接到遠程機器時,此模式非常有用。

啟用公共模式時,您用於登錄到遠程主機的憑據不會被保存或緩存。此行為可以防止其他用戶訪問您的遠程機器 —— 太好了!

運行以下命令以公共模式(/public)連接到遠程主機

./mstsc /v:<IP_Address>:<Port> /public

您可能需要輸入遠程用戶帳戶的憑據才能訪問遠程會話。您在遠程會話期間所做的所有更改,包括首選項和設置,都會在斷開會話時自動丟棄。

Connecting to a remote host in public mode

作為管理員連接到遠程主機

您一直以普通用户身份访问您的远程主机,这是可以的。但管理远程主机通常需要管理员特权。

例如,您可能需要安装软件包或访问仅管理员帐户可访问的系统设置。

运行以下命令以管理员身份连接到您的远程主机,并使用自定义分辨率。管理员具有提升的特权,并可以在远程主机上执行管理任务。

./mstsc /v:<IP_Address> /w:900 /h:720 /admin
Connecting to a remote host as an admin

现在,打开控制面板,导航到用户帐户部分。

您是否看到类似下面的输出?恭喜!您已成功以管理员身份连接到您的远程主机。

Verifying administrator privileges

通过现有的.rdp文件连接到远程主机

到目前为止,您已成功以不同的模式连接到远程主机。但是在长期运行中,每次连接到远程主机时指定不同的参数可能很繁琐。

为什么不将远程桌面连接设置保存到.rdp文件中呢?.rdp文件包含了建立与远程主机连接所需的所有设置,您可以使用它来代替手动输入MSTSC命令行参数。

购买远程控制服务时,通常会从服务提供商(如Amazon Web Services和Azure RDP)下载一个.rdp文件。

建立到遠端主機的連線,使用現有的.rdp檔案:

執行以下命令,將<RDP_FILE_PATH>替換為您現有.rdp檔案的完整路徑,根據您.rdp檔案中指定的設定連接到遠端主機。

./mstsc <RDP_FILE_PATH>

以下示例顯示如何使用位於C:\\Users\\admin\\Documents\\文件夾中的現有.rdp檔案(ec2_instance.rdp)連接到 AWS EC2 實例。

./mstsc C:\Users\admin\Documents\ec2_instance.rdp 

忽略安全警告訊息,並點擊連線繼續。

Connecting to the remote host via an existing .rdp file

修改現有.rdp檔案的設定

也許您的.rdp檔案未包含您需要建立連線的所有設定,或者您希望修改這些設定。無論哪種情況,/edit標誌都很方便。

修改現有.rdp檔案的設定:

執行以下命令,附加/edit標誌,它會在遠端桌面連線設定視窗中打開.rdp檔案。

./mstsc /edit <RDP_FILE_PATH>

一旦您滿意修改後的設定,點擊儲存以保存更改或另存為將設定保存到新的.rdp檔案中。

Modifying an existing .rdp configuration file

結論

遠端訪問主機或伺服器讓您無需攜帶隨身碟或硬碟來回傳送文件。在這個教程中,您已經學會了如何啟用 RDP 並使用 MSTSC 以不同模式、解析度,甚至是透過現有的 .rdp 檔案連接到遠端主機。

通過利用 MSTSC,您可以有效地管理遠端電腦和工作站,無論其物理位置在何處。

現在,您可以放心地將 MSTSC 作為 CLI 工具,建立安全且高效的遠端連線到遠端主機。為什麼不試試 qwinstarwinsta 指令,來管理您的遠端桌面會話呢?

Source:
https://adamtheautomator.com/mstsc/