本页依据已核验的 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,保留窗口过期后也不能假定仍可去重。