rdp-cli

Windows、Mac 与 Linux 的 RDP 命令行上手

连接一次,观察画面,执行命令,再检查结果。本机查看窗口按需打开。

从你的电脑开始

选择平台。
开始远程任务。

选择运行 rdp-cli 的电脑。
为你的 Agent 准备好远程操作工具。

01 / 安装与检查

下载 EXE,打开 PowerShell。

选择 x64(64 位)或 x86(32 位)EXE,将 rdp-cli.exe 放入文件夹,在该文件夹打开 PowerShell。

提供已签名的 x64、x86 单文件 EXE,无需另装运行时。

PowerShell
.\rdp-cli.exe --help
02 / 连接远程电脑

先在远端启用 RDP。替换 192.0.2.20 和 USER;通过不回显的提示输入密码,密码从标准输入送入命令。保存返回 JSON 中的 data.session。

PowerShell
$secret = Read-Host '密码' -AsSecureString
$savedEncoding = $OutputEncoding
try {
  $OutputEncoding = [System.Text.UTF8Encoding]::new($false)
  [System.Net.NetworkCredential]::new('', $secret).Password |
    .\rdp-cli.exe connect --host 192.0.2.20 --user USER --password-stdin
} finally {
  $OutputEncoding = $savedEncoding
  $secret.Dispose()
}
03 / 获取画面

将 SESSION 换成连接返回的值。打开 before.png,查看目标应用和输入位置,并保存截图结果中的 data.observation。

PowerShell
.\rdp-cli.exe screenshot --session SESSION --out ./before.png
04 / 操作并检查

先从截图确定可输入位置,再替换 X、Y 和 OBSERVATION。点击后重新截图,用新的观察值输入;最后查看 after.png,确认远端实际结果。

PowerShell
.\rdp-cli.exe click --session SESSION --desktop --x X --y Y --observation OBSERVATION
.\rdp-cli.exe screenshot --session SESSION --out ./focused.png
.\rdp-cli.exe type --session SESSION --text "远端任务已完成。" --observation NEW_OBSERVATION
.\rdp-cli.exe screenshot --session SESSION --out ./after.png
05 / 按需观看

人想看进度时再打开同一会话,默认只读。窗口中可暂停、接管和交还;Agent 的普通命令操作不依赖这个窗口。

PowerShell
.\rdp-cli.exe watch --session SESSION --viewer window
.\rdp-cli.exe watch --session SESSION --viewer web
01 / 安装与检查

打开 DMG,启用命令行。

将 rdp-cli 拖入“应用程序”,然后在 macOS 终端(zsh)运行下面的命令。

根据 Mac 的芯片选择 DMG:Apple silicon 需 macOS 13 或以上,Intel 需 macOS 12 或以上。各版本是否可下载,以下载页为准。

zsh
/Applications/rdp-cli.app/Contents/MacOS/rdp-cli install-cli
rdp-cli --help
02 / 连接远程电脑

先在远端启用 RDP。替换 192.0.2.20 和 USER;通过不回显的提示输入密码,密码从标准输入送入命令。保存返回 JSON 中的 data.session。

zsh
read -r -s "rdp_password?密码: "
printf '\n'
printf '%s' "$rdp_password" | rdp-cli connect --host 192.0.2.20 --user USER --password-stdin
unset rdp_password
03 / 获取画面

将 SESSION 换成连接返回的值。打开 before.png,查看目标应用和输入位置,并保存截图结果中的 data.observation。

zsh
rdp-cli screenshot --session SESSION --out ./before.png
04 / 操作并检查

先从截图确定可输入位置,再替换 X、Y 和 OBSERVATION。点击后重新截图,用新的观察值输入;最后查看 after.png,确认远端实际结果。

zsh
rdp-cli click --session SESSION --desktop --x X --y Y --observation OBSERVATION
rdp-cli screenshot --session SESSION --out ./focused.png
rdp-cli type --session SESSION --text "远端任务已完成。" --observation NEW_OBSERVATION
rdp-cli screenshot --session SESSION --out ./after.png
05 / 按需观看

人想看进度时再打开同一会话,默认只读。窗口中可暂停、接管和交还;Agent 的普通命令操作不依赖这个窗口。

zsh
rdp-cli watch --session SESSION --viewer window
rdp-cli watch --session SESSION --viewer web
01 / 安装与检查

一个文件,直接运行

下载 Linux x86_64 文件,赋予执行权限后在终端运行,无需管理员权限。

清单中的 x86_64 系统使用同一个静态 ELF;本次范围不包含其他系统版本和 CPU 架构。

Bash
chmod u+x ./rdp-cli-linux-x86_64
./rdp-cli-linux-x86_64 --help
02 / 连接远程电脑

先在远端启用 RDP。替换 192.0.2.20 和 USER;通过不回显的提示输入密码,密码从标准输入送入命令。保存返回 JSON 中的 data.session。

Bash
IFS= read -r -s -p '密码: ' rdp_password
printf '\n'
printf '%s' "$rdp_password" | ./rdp-cli-linux-x86_64 connect --host 192.0.2.20 --user USER --password-stdin
unset rdp_password
03 / 获取画面

将 SESSION 换成连接返回的值。打开 before.png,查看目标应用和输入位置,并保存截图结果中的 data.observation。

Bash
./rdp-cli-linux-x86_64 screenshot --session SESSION --out ./before.png
04 / 操作并检查

先从截图确定可输入位置,再替换 X、Y 和 OBSERVATION。点击后重新截图,用新的观察值输入;最后查看 after.png,确认远端实际结果。

Bash
./rdp-cli-linux-x86_64 click --session SESSION --desktop --x X --y Y --observation OBSERVATION
./rdp-cli-linux-x86_64 screenshot --session SESSION --out ./focused.png
./rdp-cli-linux-x86_64 type --session SESSION --text "远端任务已完成。" --observation NEW_OBSERVATION
./rdp-cli-linux-x86_64 screenshot --session SESSION --out ./after.png
05 / 按需观看

人想看进度时再打开同一会话,默认只读。窗口中可暂停、接管和交还;Agent 的普通命令操作不依赖这个窗口。

Bash
./rdp-cli-linux-x86_64 watch --session SESSION --viewer window
./rdp-cli-linux-x86_64 watch --session SESSION --viewer web
01 / 安装与检查

一个文件,直接运行

为 64 位 ARM Linux 系统下载 Linux ARM64 文件,添加执行权限后,以普通用户运行。

同一个静态 ARM64 ELF 支持列出的 Linux 系统、树莓派 4 和 DGX Spark。不支持 32 位树莓派系统。

Bash
chmod u+x ./rdp-cli-linux-arm64
./rdp-cli-linux-arm64 --help
02 / 连接远程电脑

先在远端启用 RDP。替换 192.0.2.20 和 USER;通过不回显的提示输入密码,密码从标准输入送入命令。保存返回 JSON 中的 data.session。

Bash
IFS= read -r -s -p '密码: ' rdp_password
printf '\n'
printf '%s' "$rdp_password" | ./rdp-cli-linux-arm64 connect --host 192.0.2.20 --user USER --password-stdin
unset rdp_password
03 / 获取画面

将 SESSION 换成连接返回的值。打开 before.png,查看目标应用和输入位置,并保存截图结果中的 data.observation。

Bash
./rdp-cli-linux-arm64 screenshot --session SESSION --out ./before.png
04 / 操作并检查

先从截图确定可输入位置,再替换 X、Y 和 OBSERVATION。点击后重新截图,用新的观察值输入;最后查看 after.png,确认远端实际结果。

Bash
./rdp-cli-linux-arm64 click --session SESSION --desktop --x X --y Y --observation OBSERVATION
./rdp-cli-linux-arm64 screenshot --session SESSION --out ./focused.png
./rdp-cli-linux-arm64 type --session SESSION --text "远端任务已完成。" --observation NEW_OBSERVATION
./rdp-cli-linux-arm64 screenshot --session SESSION --out ./after.png
05 / 按需观看

人想看进度时再打开同一会话,默认只读。窗口中可暂停、接管和交还;Agent 的普通命令操作不依赖这个窗口。

Bash
./rdp-cli-linux-arm64 watch --session SESSION --viewer window
./rdp-cli-linux-arm64 watch --session SESSION --viewer web

示例使用文档地址和占位账号。用实际返回的 session 和 observation 替换占位值;命令发出后,仍需查看新截图确认结果。

交给你的 Agent 使用

告诉 Agent 程序路径、获授权的目标或已有会话,以及期望的远端结果。可选 rdp-cli-agent 技能记录了命令工作流,Agent 可以直接阅读 SKILL.md;连接本身不需要安装技能。

rdp-cli-agent / SKILL.md ↓

连接与访问设置

RDP 证书策略目前为兼容性默认使用 ignore,请查看 connect --help 并按环境配置验证方式。官网不转发会话,也不收集远端凭据。浏览器查看器适用于局域网/VPN,VNC 传输需要可信网络。

rdp-cli@weerocks.com