検証済みの 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 オブジェクトを1つ出力します。成功時は ok: true と data、失敗時は ok: false と error です。stderr は診断情報です。終了コードは成功0、実行エラー1、引数エラー2です。
ヘルプはテキストです。events --follow は NDJSON を連続出力し、通常の events は data.events と data.ndjson を含む単一 JSON 結果を返します。 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- 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 は人向けの読み取り専用ビューアーを開きます。--viewer は window または web。Agent のコマンドにビューアーは不要です。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 が必要です。upload/download は転送IDを返し、status はID省略時に一覧を返します。cancel 後も完了済みファイルは残り得ます。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 アクセス
web start で待受アドレスとTLS証明書・鍵、または信頼するプロキシを設定します。--ice-server は繰り返し可能です。ループバック外ではLAN/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 はstrictモードで正確なRDP接続先と指紋を関連付けます。credentials remove は指定された製品の認証情報だけを削除します。macOS と Linux の install-cli/uninstall-cli は CLI 入口を管理し、--prefix で配置先を選びます。Windows はダウンロードした実行ファイルを使います。presence show --panel は macOS と Linux のセッションパネルを開きます。コマンド一覧は公開済み macOS 0.1.0 CLI で検証し、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 の CLI 入口をインストール
セッション指定は不要です。
rdp-cli install-cli --help
rdp-cli uninstall-cli#
作成した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 を拒否します。従来認証はパスワードの先頭8 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での重複排除を期待しません。