本頁依據已核驗的 0.1.0 命令目錄整理。實際可用能力仍受平台和協議協商影響,使用參數前請核對已安裝版本。
觀察、操作、驗證
USER、SESSION、OBSERVATION、X 和 Y 均為佔位符。通過標準輸入提供密碼後關閉輸入流;--password-stdin 不會顯示交互式密碼提示。保存 data.session,讀取 before.png,從圖中選取坐標,再檢查 after.png。輸入已發送不等於任務已完成。
rdp-cli connect --host desktop.example.net --user USER --password-stdin
rdp-cli screenshot --session SESSION --out before.png
rdp-cli click --session SESSION --desktop --x X --y Y --observation OBSERVATION
rdp-cli screenshot --session SESSION --out after.png
--version 顯示版本與構建能力;--help-json 返回機器可讀目錄;COMMAND --help 可離線查看該命令的完整參數說明,不會啓動會話。
rdp-cli --version
rdp-cli --help-json
rdp-cli connect --help
JSON 與通用參數
普通命令在 stdout 輸出一個 UTF-8 JSON 對象:成功為 ok: true 與 data,失敗為 ok: false 與 error。stderr 僅供診斷;退出碼 0 表示成功,1 表示運行失敗,2 表示命令或參數錯誤。
幫助輸出純文本。events --follow 流式輸出 NDJSON;普通 events 返回一個 JSON 結果,其中含 data.events 與 data.ndjson。 Windows PowerShell 5.1 處理非 ASCII 文本時,應將 [Console]::OutputEncoding 與 $OutputEncoding 都設為 UTF-8。
data.session- 保存 connect 返回的會話 ID,後續命令使用同一值。
data.observation- 輸入須使用截圖返回的觀察權杖;重連、控制權或佈局變化後重新截圖。
data.capabilities- 先檢查協商能力,再決定是否使用檔案、音訊、剪貼簿或顯示器操作。
data.state / data.remote_outcome- queued、sent、partial、unknown、cancelled、failed 表示輸入進度。remote_outcome: not_confirmed 仍需查看遠端結果。
data.transfer_id- 把傳輸 ID 交給 files status 或 files cancel;等待終態並檢查已完成檔案的摘要。
error.code / error.message / error.retryable- 使用穩定錯誤碼決策,消息提供上下文;retryable 只是提示,不能據此盲目重復操作。
所有命令支持 --request-id 與 --timeout-ms。只有在保留窗口內,以完全相同的命令和參數重試時才復用請求 ID。本地超時不能證明輸入未發送,應先查詢 operations status。
--request-id ID · --timeout-ms MILLISECONDS 會話
connect 必須指定 --host;RDP 還須指定 --user。RDP 預設端口 3389,VNC 為 5900。需要密碼認證的連接須在 --password、--password-stdin、--credential-ref 中選擇一個來源;使用 --vnc-security none 的 VNC 連接不提供密碼來源。 --domain 用於 RDP 域賬號。--size 與 --layout 互斥,--connect-timeout-ms 限制連接階段。reconnect 後保持暫停;disconnect 斷開連接但不註銷遠端用戶。
rdp-cli connect#
創建並連接持續的 RDP/VNC 會話
不需要會話參數。
rdp-cli connect --help
rdp-cli list#
列出可見會話
不需要會話參數。
rdp-cli list --help
rdp-cli status#
查詢一致的會話狀態
必須指定 --session SESSION。
rdp-cli status --help
rdp-cli reconnect#
重連未關閉的會話並保持暫停
必須指定 --session SESSION。
rdp-cli reconnect --help
rdp-cli disconnect#
斷開會話而不註銷遠端用戶
必須指定 --session SESSION。
rdp-cli disconnect --help
查看器與桌面狀態
watch 為人打開只讀查看器,Agent 命令無需先打開窗口。--viewer 可選 window 或 web。presence show/hide 控制本機狀態入口;--floating 添加懸浮控件,--panel 打開 macOS 或 Linux 會話面板。關閉只讀窗口不會斷開連接。
rdp-cli watch#
打開或激活人類查看器
必須指定 --session SESSION。
rdp-cli watch --help
rdp-cli presence show#
顯示桌面會話狀態入口
不需要會話參數。
rdp-cli presence show --help
rdp-cli presence hide#
隱藏狀態入口但保留會話
不需要會話參數。
rdp-cli presence hide --help
控制與交接
pause 指定 --session 或 --all,並撤銷人類控制;resume 將暫停會話交回 Agent。control take 需要已連接的 viewer ID;release 可指定該查看者或目標 Agent。尊重人類暫停,交還後重新截圖。
rdp-cli pause#
暫停普通輸入並撤銷人類控制
必須二選一:--session SESSION 或 --all。
rdp-cli pause --help
rdp-cli resume#
將暫停會話交還 Agent
必須指定 --session SESSION。
rdp-cli resume --help
rdp-cli control take#
把控制權交給已連接的查看器
必須指定 --session SESSION。
rdp-cli control take --help
rdp-cli control release#
將控制權交還 Agent
必須指定 --session SESSION。
rdp-cli control release --help
檔案
--path 相對於會話交換盤,不是任意遠端磁盤;--local 指定客戶端檔案或目錄。覆蓋須加 --overwrite。上傳/下載返回傳輸 ID;status 省略 ID 時列出傳輸。取消可能保留已完成檔案;cleanup 刪除選定交換內容,忙碌時可能返回 FILE_BUSY。
rdp-cli files list#
列出交換盤內容
必須指定 --session SESSION。
rdp-cli files list --help
rdp-cli files upload#
上傳檔案或目錄至交換盤
必須指定 --session SESSION。
rdp-cli files upload --help
rdp-cli files download#
從交換盤下載檔案或目錄
必須指定 --session SESSION。
rdp-cli files download --help
rdp-cli files status#
查詢一個或全部檔案傳輸
必須指定 --session SESSION。
rdp-cli files status --help
rdp-cli files cancel#
取消檔案傳輸
必須指定 --session SESSION。
rdp-cli files cancel --help
rdp-cli files cleanup#
刪除指定交換內容
必須指定 --session SESSION。
rdp-cli files cleanup --help
聲音與麥克風
audio status 查詢協商能力。mute/volume 針對 --viewer-id;靜音取 on/off,音量使用正數 --percent。audio microphone 只能查詢或停止。啓動麥克風須由持有控制權的人在獲授權查看器中明確啓用。
rdp-cli audio status#
查詢音訊能力與來源
必須指定 --session SESSION。
rdp-cli audio status --help
rdp-cli audio mute#
為一個查看器靜音或解除靜音
必須指定 --session SESSION。
rdp-cli audio mute --help
rdp-cli audio volume#
設置一個查看器的播放音量
必須指定 --session SESSION。
rdp-cli audio volume --help
rdp-cli audio microphone#
查詢或停止當前麥克風
必須指定 --session SESSION。
rdp-cli audio microphone --help
顯示器
monitors 返回協商佈局。monitors set 接受佈局 JSON 或 @file;--allow-reconnect 允許在不能動態調整時重連。按返回佈局重新截圖後再輸入。VNC 可報告幀緩衝區,但不接受主動佈局變更。
rdp-cli monitors#
查詢協商後的顯示器佈局
必須指定 --session SESSION。
rdp-cli monitors --help
rdp-cli monitors set#
更改顯示器佈局
必須指定 --session SESSION。
rdp-cli monitors set --help
瀏覽器訪問
web start 配置監聽地址與 TLS 證書/私鑰或受信代理,--ice-server 可重復。非回環訪問限局域網/VPN,並需要 HTTPS 和授權。access grant 必須指定可重復的 --permission 與以秒計的 --expires-in。權限含 session.observe/control、clipboard.read/write、files.read/write、audio.listen/send。撤銷授權會關閉其流。
rdp-cli web start#
啓動內嵌授權 Web 服務
不需要會話參數。
rdp-cli web start --help
rdp-cli web status#
查詢 Web 服務狀態
不需要會話參數。
rdp-cli web status --help
rdp-cli web stop#
停止 Web 訪問但保留會話
不需要會話參數。
rdp-cli web stop --help
rdp-cli access grant#
創建有限範圍的 Web 授權
必須指定 --session SESSION。
rdp-cli access grant --help
rdp-cli access list#
列出 Web 授權
必須指定 --session SESSION。
rdp-cli access list --help
rdp-cli access revoke#
撤銷授權及其流
必須指定 --session SESSION。
rdp-cli access revoke --help
操作與事件
結果不確定時,operations status 按 operation ID 或原 request ID 查詢,不重新發送輸入。events 讀取事件,--follow 持續訂閱,--after 從游標續讀。sent 後仍須另行驗證應用實際結果。
rdp-cli operations status#
查詢保留的操作結果
必須指定 --session SESSION。
rdp-cli operations status --help
rdp-cli events#
讀取或持續訂閱事件
必須指定 --session SESSION。
rdp-cli events --help
信任、憑據與安裝
trust 為嚴格證書模式保存精確 RDP 目標與指紋;credentials remove 僅刪除指定產品憑據。macOS 和 Linux 的 install-cli/uninstall-cli 管理命令入口,--prefix 選擇安裝位置;Windows 直接運行下載的程序。presence show --panel 可在 macOS 和 Linux 打開會話面板。本頁命令目錄由正式 macOS 0.1.0 CLI 核驗,Linux 差異另據正式 Linux 實現核對。 licenses 輸出第三方版本與許可聲明。
rdp-cli trust list#
列出 RDP 證書信任記錄
不需要會話參數。
rdp-cli trust list --help
rdp-cli trust add#
信任指定目標的證書指紋
不需要會話參數。
rdp-cli trust add --help
rdp-cli trust remove#
刪除指定目標的信任記錄
不需要會話參數。
rdp-cli trust remove --help
rdp-cli credentials remove#
刪除指定產品憑據
不需要會話參數。
rdp-cli credentials remove --help
rdp-cli install-cli#
在 macOS 或 Linux 安裝命令入口
不需要會話參數。
rdp-cli install-cli --help
rdp-cli uninstall-cli#
移除 rdp-cli 創建的命令入口
不需要會話參數。
rdp-cli uninstall-cli --help
rdp-cli licenses#
查看第三方版本與許可聲明
不需要會話參數。
rdp-cli licenses --help
協議與平台條件
- RDP 預設 --cert-policy ignore 與 --tls-profile modern。strict 核驗證書信任及名稱;legacy 顯式允許較舊 TLS。兩者均不改變 Web HTTPS 校驗。
- VNC 不接受 --user、--domain、--size、--layout、--cert-policy、--tls-profile。經典認證只使用密碼前八個 UTF-8 位元組;無認證須明確 --vnc-security none 且不傳密碼。當前支持的 VNC 傳輸不加密。
- VNC 不提供檔案、聲音、麥克風與主動顯示佈局調整。剪貼簿 UTF-8 取決於協商,否則僅接受 Latin-1。
- RDP 檔案需要驅動器重定向;音訊、剪貼簿、麥克風、多屏也受服務端策略與協商能力影響。
- Windows/macOS 提供原生查看器及狀態入口。Linux 原生窗口依賴桌面顯示服務,音訊依賴主機音訊服務,保存憑據依賴 Secret Service;無桌面主機仍可使用支持的 CLI 操作。
- Unicode 輸入會按遠端應用兼容性節奏發送。為長文本設置合適超時並核對結果;切換輸入法或打開查看器不能保證任意服務端接受所有字符。
錯誤恢復
OBSERVATION_REQUIRED / INVALID_COORDINATES- 重新截圖,檢查螢幕佈局並選擇有效遠端坐標。
SESSION_PAUSED / CONTROL_HELD_BY_HUMAN- 停止輸入,尊重人類控制;僅在明確交還 Agent 後繼續。
AUTH_FAILED / VNC_AUTH_FAILED- 檢查賬號、密碼來源及遠端認證策略。
RDP_TLS_HANDSHAKE_FAILED / CERTIFICATE_UNTRUSTED- 核對伺服器 TLS、證書策略與實際指紋,不要將 TLS 錯誤當作密碼錯誤。
CAPABILITY_UNAVAILABLE / CLIPBOARD_ENCODING_UNSUPPORTED- 檢查協議能力或文本編碼,選擇支持的操作。
REQUEST_TIMEOUT / REQUEST_ID_CONFLICT / REQUEST_WINDOW_EXPIRED- 重試前查詢原操作和當前畫面;不同參數不能復用 ID,保留窗口過期後也不能假定仍可去重。