rdp-cli
Windows・Mac・Linux の RDP コマンドライン入門
一度接続し、観察して操作し、結果を確認。本機の表示ウィンドウは任意です。
手元の PC から始める
プラットフォームを選び、
リモート作業を始める。
rdp-cli を動かす PC を選び、
エージェントに遠隔操作の道具を用意します。
EXE を用意し、PowerShell を開きます。
x64(64 ビット)か x86(32 ビット)を選択し、rdp-cli.exe を置いたフォルダーで PowerShell を開きます。
署名済みの x64・x86 単体 EXE。追加のランタイムは不要です。
.\rdp-cli.exe --help2. デスクトップに接続
接続先で RDP を有効にし、192.0.2.20 と USER を置き換えます。非表示の入力欄からパスワードを標準入力へ渡し、JSON 応答の data.session を保存します。
$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()
}3. 操作前に観察
SESSION を接続結果の値に置き換えます。before.png で対象と入力位置を確認し、応答の data.observation を保存します。
.\rdp-cli.exe screenshot --session SESSION --out ./before.png4. 操作して結果を確認
画像で入力位置を見つけ、X、Y、OBSERVATION を置き換えます。クリック後に再撮影し、新しい observation で入力します。after.png で実際の結果を確認してください。
.\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.png5. 人が見たいときに表示
閲覧したいときだけ、既存セッションをウィンドウやブラウザーで開きます。初期状態は読み取り専用。一時停止、引き継ぎ、返却を操作し、交代や再接続後は新しい観察を取得します。
.\rdp-cli.exe watch --session SESSION --viewer window
.\rdp-cli.exe watch --session SESSION --viewer webDMG を開き、CLI を有効にします。
rdp-cli を「アプリケーション」にドラッグし、Mac のターミナル(zsh)で以下を実行します。
Mac のチップに合う DMG を選んでください。Apple silicon は macOS 13 以降、Intel は macOS 12 以降が対象です。公開状況はダウンロードページで確認できます。
/Applications/rdp-cli.app/Contents/MacOS/rdp-cli install-cli
rdp-cli --help2. デスクトップに接続
接続先で RDP を有効にし、192.0.2.20 と USER を置き換えます。非表示の入力欄からパスワードを標準入力へ渡し、JSON 応答の data.session を保存します。
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_password3. 操作前に観察
SESSION を接続結果の値に置き換えます。before.png で対象と入力位置を確認し、応答の data.observation を保存します。
rdp-cli screenshot --session SESSION --out ./before.png4. 操作して結果を確認
画像で入力位置を見つけ、X、Y、OBSERVATION を置き換えます。クリック後に再撮影し、新しい observation で入力します。after.png で実際の結果を確認してください。
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.png5. 人が見たいときに表示
閲覧したいときだけ、既存セッションをウィンドウやブラウザーで開きます。初期状態は読み取り専用。一時停止、引き継ぎ、返却を操作し、交代や再接続後は新しい観察を取得します。
rdp-cli watch --session SESSION --viewer window
rdp-cli watch --session SESSION --viewer web1つのファイルで実行
Linux x86_64 ファイルをダウンロードし、実行権限を付けてターミナルで実行します。管理者権限は不要です。
記載された x86_64 システムで同じ静的 ELF を使用します。他のバージョンや CPU アーキテクチャは今回の対象外です。
chmod u+x ./rdp-cli-linux-x86_64
./rdp-cli-linux-x86_64 --help2. デスクトップに接続
接続先で RDP を有効にし、192.0.2.20 と USER を置き換えます。非表示の入力欄からパスワードを標準入力へ渡し、JSON 応答の data.session を保存します。
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_password3. 操作前に観察
SESSION を接続結果の値に置き換えます。before.png で対象と入力位置を確認し、応答の data.observation を保存します。
./rdp-cli-linux-x86_64 screenshot --session SESSION --out ./before.png4. 操作して結果を確認
画像で入力位置を見つけ、X、Y、OBSERVATION を置き換えます。クリック後に再撮影し、新しい observation で入力します。after.png で実際の結果を確認してください。
./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.png5. 人が見たいときに表示
閲覧したいときだけ、既存セッションをウィンドウやブラウザーで開きます。初期状態は読み取り専用。一時停止、引き継ぎ、返却を操作し、交代や再接続後は新しい観察を取得します。
./rdp-cli-linux-x86_64 watch --session SESSION --viewer window
./rdp-cli-linux-x86_64 watch --session SESSION --viewer web1つのファイルで実行
64 ビット ARM Linux 用の Linux ARM64 ファイルをダウンロードし、実行権限を付けて一般ユーザーで実行します。
同じ静的 ARM64 ELF が、掲載の Linux システム、Raspberry Pi 4、DGX Spark に対応します。32 ビットの Raspberry Pi OS は対象外です。
- ダウンロード · Linux · ARM64
rdp-cli-linux-arm64aarch64 · 64 ビット
chmod u+x ./rdp-cli-linux-arm64
./rdp-cli-linux-arm64 --help2. デスクトップに接続
接続先で RDP を有効にし、192.0.2.20 と USER を置き換えます。非表示の入力欄からパスワードを標準入力へ渡し、JSON 応答の data.session を保存します。
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_password3. 操作前に観察
SESSION を接続結果の値に置き換えます。before.png で対象と入力位置を確認し、応答の data.observation を保存します。
./rdp-cli-linux-arm64 screenshot --session SESSION --out ./before.png4. 操作して結果を確認
画像で入力位置を見つけ、X、Y、OBSERVATION を置き換えます。クリック後に再撮影し、新しい observation で入力します。after.png で実際の結果を確認してください。
./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.png5. 人が見たいときに表示
閲覧したいときだけ、既存セッションをウィンドウやブラウザーで開きます。初期状態は読み取り専用。一時停止、引き継ぎ、返却を操作し、交代や再接続後は新しい観察を取得します。
./rdp-cli-linux-arm64 watch --session SESSION --viewer window
./rdp-cli-linux-arm64 watch --session SESSION --viewer web例のアドレスや値は置き換えてください。session と observation は実際の応答を使い、入力後は新しい画像で結果を確認します。
Agent と使う
実行ファイルの場所、許可された接続先またはセッション、望む結果を伝えます。任意の rdp-cli-agent スキルに手順があり、SKILL.md を直接読めます。接続にスキルの導入は必須ではありません。
rdp-cli-agent / SKILL.md ↓接続とアクセスの設定
RDP 証明書ポリシーは互換性のため初期値が ignore です。connect --help を読み、環境に合わせて検証を設定してください。公式サイトは接続を中継せず認証情報を収集しません。ブラウザーは LAN/VPN 用、VNC は信頼できるネットワークで利用します。