Grundlage ist der geprüfte Befehlskatalog von 0.1.0. Verfügbare Funktionen hängen von Plattform und Protokollaushandlung ab; prüfen Sie Ihre installierte Version.
Beobachten, handeln, prüfen
USER, SESSION, OBSERVATION, X und Y sind Platzhalter. Das Kennwort über stdin übergeben und den Datenstrom schließen; --password-stdin öffnet keine interaktive Abfrage. data.session speichern, before.png ansehen, Bildkoordinaten auswählen und after.png prüfen. Eine gesendete Eingabe bestätigt keinen Aufgabenerfolg.
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 zeigt Version und Fähigkeiten; --help-json liefert den maschinenlesbaren Katalog. COMMAND --help erklärt die Optionen, ohne eine Sitzung zu starten.
rdp-cli --version
rdp-cli --help-json
rdp-cli connect --help
JSON und gemeinsame Optionen
Normale Befehle liefern ein UTF-8-JSON-Objekt auf stdout: ok: true mit data oder ok: false mit error. stderr enthält Diagnosen. Exitcodes: 0 Erfolg, 1 Betriebsfehler, 2 ungültige Argumente.
Hilfe ist Klartext. events --follow streamt NDJSON; events ohne Verfolgung liefert ein JSON-Ergebnis mit data.events und data.ndjson. Für Nicht-ASCII-Text in PowerShell 5.1 sowohl [Console]::OutputEncoding als auch $OutputEncoding auf UTF-8 setzen.
data.session- Die Sitzungs-ID aus connect für weitere Befehle aufbewahren.
data.observation- Das Token der Aufnahme verwenden; nach Neuverbindung, Steuerungs- oder Layoutwechsel erneut aufnehmen.
data.capabilities- Ausgehandelte Fähigkeiten vor Datei-, Audio-, Zwischenablage- oder Bildschirmaktionen prüfen.
data.state / data.remote_outcome- queued, sent, partial, unknown, cancelled und failed beschreiben den Fortschritt. remote_outcome: not_confirmed erfordert eine sichtbare Ergebniskontrolle.
data.transfer_id- Mit dieser ID files status oder files cancel aufrufen; Endzustand und Hashes abgeschlossener Dateien prüfen.
error.code / error.message / error.retryable- Nach stabilem Fehlercode entscheiden. Meldung und retryable geben Hinweise, erlauben aber keine blinde Wiederholung.
Alle Befehle unterstützen --request-id und --timeout-ms. Eine ID nur mit identischem Befehl und identischen Argumenten innerhalb der Aufbewahrungsfrist wiederverwenden. Ein lokales Timeout beweist nicht, dass nichts gesendet wurde; zuerst operations status abfragen.
--request-id ID · --timeout-ms MILLISECONDS Sitzungen
connect benötigt --host, bei RDP auch --user. Standardports: RDP 3389, VNC 5900. Bei Verbindungen mit Passwortanmeldung genau eine Quelle wählen: --password, --password-stdin oder --credential-ref. VNC mit --vnc-security none verwendet keine Passwortquelle. --domain gilt für RDP; --size und --layout schließen sich aus. --connect-timeout-ms begrenzt den Aufbau. reconnect bleibt pausiert; disconnect meldet den entfernten Benutzer nicht ab.
rdp-cli connect#
Dauerhafte RDP/VNC-Sitzung verbinden
Kein Sitzungsargument nötig.
rdp-cli connect --help
rdp-cli list#
Sichtbare Sitzungen auflisten
Kein Sitzungsargument nötig.
rdp-cli list --help
rdp-cli status#
Sitzungsstatus abfragen
Erfordert --session SESSION.
rdp-cli status --help
rdp-cli reconnect#
Neu verbinden und pausiert bleiben
Erfordert --session SESSION.
rdp-cli reconnect --help
rdp-cli disconnect#
Trennen ohne entfernte Abmeldung
Erfordert --session SESSION.
rdp-cli disconnect --help
Anzeige und Desktopstatus
watch öffnet einen menschlichen Betrachter mit --viewer window oder web, zunächst schreibgeschützt. Agent-Befehle benötigen ihn nicht. presence show/hide steuert den lokalen Status; --floating ergänzt Steuerelemente, --panel öffnet das Sitzungspanel auf macOS oder Linux. Schließen einer Beobachtungsansicht erhält die Verbindung.
rdp-cli watch#
Menschlichen Viewer öffnen
Erfordert --session SESSION.
rdp-cli watch --help
rdp-cli presence show#
Desktopstatus anzeigen
Kein Sitzungsargument nötig.
rdp-cli presence show --help
rdp-cli presence hide#
Status ohne Trennung verbergen
Kein Sitzungsargument nötig.
rdp-cli presence hide --help
Steuerung und Übergabe
pause verwendet --session oder --all und entzieht menschliche Steuerung. resume gibt an den Agent zurück. control take benötigt eine verbundene Viewer-ID; release kann Viewer oder Ziel-Agent angeben. Eine menschliche Pause respektieren und nach Rückgabe neu aufnehmen.
rdp-cli pause#
Eingaben pausieren und Steuerung entziehen
Genau eines wählen: --session SESSION oder --all.
rdp-cli pause --help
rdp-cli resume#
Sitzung an Agent zurückgeben
Erfordert --session SESSION.
rdp-cli resume --help
rdp-cli control take#
Verbundenem Viewer Steuerung geben
Erfordert --session SESSION.
rdp-cli control take --help
rdp-cli control release#
Steuerung an Agent zurückgeben
Erfordert --session SESSION.
rdp-cli control release --help
Dateien
--path bezieht sich auf das Austauschlaufwerk, nicht beliebige entfernte Datenträger; --local auf eine Clientdatei oder ein Verzeichnis. Ersetzen benötigt --overwrite. upload/download liefern eine Transfer-ID; status ohne ID listet Transfers. cancel kann fertige Dateien behalten; cleanup entfernt ausgewählten Inhalt und kann FILE_BUSY melden.
rdp-cli files list#
Austauschinhalt auflisten
Erfordert --session SESSION.
rdp-cli files list --help
rdp-cli files upload#
Dateien oder Ordner hochladen
Erfordert --session SESSION.
rdp-cli files upload --help
rdp-cli files download#
Dateien oder Ordner herunterladen
Erfordert --session SESSION.
rdp-cli files download --help
rdp-cli files status#
Transfers abfragen
Erfordert --session SESSION.
rdp-cli files status --help
rdp-cli files cancel#
Transfer abbrechen
Erfordert --session SESSION.
rdp-cli files cancel --help
rdp-cli files cleanup#
Austauschinhalt entfernen
Erfordert --session SESSION.
rdp-cli files cleanup --help
Ton und Mikrofon
audio status meldet Fähigkeiten. mute/volume gelten für --viewer-id: on/off beziehungsweise positives --percent. audio microphone kann nur abfragen oder stoppen. Starten erfordert eine ausdrückliche Aktion einer steuernden Person im autorisierten Viewer.
rdp-cli audio status#
Audiofähigkeiten abfragen
Erfordert --session SESSION.
rdp-cli audio status --help
rdp-cli audio mute#
Einen Viewer stummschalten oder freigeben
Erfordert --session SESSION.
rdp-cli audio mute --help
rdp-cli audio volume#
Viewer-Lautstärke einstellen
Erfordert --session SESSION.
rdp-cli audio volume --help
rdp-cli audio microphone#
Mikrofon abfragen oder stoppen
Erfordert --session SESSION.
rdp-cli audio microphone --help
Bildschirme
monitors meldet die Topologie. monitors set akzeptiert JSON oder @file; --allow-reconnect erlaubt nötiges Neuverbinden. Danach Topologie prüfen und neu aufnehmen. VNC meldet den Framebuffer, erlaubt aber keine angeforderten Layoutänderungen.
rdp-cli monitors#
Ausgehandelte Topologie abfragen
Erfordert --session SESSION.
rdp-cli monitors --help
rdp-cli monitors set#
Bildschirmlayout ändern
Erfordert --session SESSION.
rdp-cli monitors set --help
Webzugriff
web start konfiguriert Listener, TLS-Zertifikat/-Schlüssel oder vertrauenswürdigen Proxy; --ice-server ist wiederholbar. Außerhalb von Loopback gelten LAN/VPN, HTTPS und Autorisierung. access grant benötigt --permission und --expires-in in Sekunden. Berechtigungen: session.observe/control, clipboard.read/write, files.read/write, audio.listen/send. Widerruf beendet zugehörige Streams.
rdp-cli web start#
Autorisierten Webdienst starten
Kein Sitzungsargument nötig.
rdp-cli web start --help
rdp-cli web status#
Webdienststatus abfragen
Kein Sitzungsargument nötig.
rdp-cli web status --help
rdp-cli web stop#
Webzugriff ohne Sitzungstrennung stoppen
Kein Sitzungsargument nötig.
rdp-cli web stop --help
rdp-cli access grant#
Begrenzte Webberechtigung erteilen
Erfordert --session SESSION.
rdp-cli access grant --help
rdp-cli access list#
Webberechtigungen auflisten
Erfordert --session SESSION.
rdp-cli access list --help
rdp-cli access revoke#
Berechtigung und Streams widerrufen
Erfordert --session SESSION.
rdp-cli access revoke --help
Operationen und Ereignisse
operations status fragt per Operation-ID oder ursprünglicher Request-ID ab, ohne Eingabe zu wiederholen. events liest Ereignisse, --follow folgt laufend, --after setzt am Cursor fort. sent benötigt weiterhin eine Prüfung der entfernten Anwendung.
rdp-cli operations status#
Gespeichertes Operationsergebnis abfragen
Erfordert --session SESSION.
rdp-cli operations status --help
rdp-cli events#
Ereignisse lesen oder verfolgen
Erfordert --session SESSION.
rdp-cli events --help
Vertrauen und Installation
trust bindet im strikten Modus einen genauen RDP-Zielhost an einen Fingerabdruck. credentials remove löscht nur die genannte Produktreferenz. Unter macOS und Linux verwalten install-cli/uninstall-cli den CLI-Einstieg; --prefix wählt den Installationsort. Windows führt die heruntergeladene Datei aus. presence show --panel öffnet das Sitzungspanel auf macOS und Linux. Der Katalog wurde mit dem veröffentlichten macOS-CLI 0.1.0 geprüft; Linux-Abweichungen anhand der veröffentlichten Linux-Implementierung. licenses zeigt Drittanbieterversionen und Lizenzen.
rdp-cli trust list#
RDP-Vertrauensdatensätze auflisten
Kein Sitzungsargument nötig.
rdp-cli trust list --help
rdp-cli trust add#
Einem Ziel-Fingerabdruck vertrauen
Kein Sitzungsargument nötig.
rdp-cli trust add --help
rdp-cli trust remove#
Vertrauensdatensatz entfernen
Kein Sitzungsargument nötig.
rdp-cli trust remove --help
rdp-cli credentials remove#
Produkt-Anmeldedaten entfernen
Kein Sitzungsargument nötig.
rdp-cli credentials remove --help
rdp-cli install-cli#
CLI-Einstieg unter macOS oder Linux installieren
Kein Sitzungsargument nötig.
rdp-cli install-cli --help
rdp-cli uninstall-cli#
Erstellten CLI-Einstieg entfernen
Kein Sitzungsargument nötig.
rdp-cli uninstall-cli --help
rdp-cli licenses#
Drittanbieterversionen und Lizenzen anzeigen
Kein Sitzungsargument nötig.
rdp-cli licenses --help
Protokoll- und Plattformbedingungen
- RDP verwendet --cert-policy ignore und --tls-profile modern. strict prüft Vertrauen und Namen; legacy erlaubt ausdrücklich älteres TLS. Web-HTTPS-Prüfungen bleiben unverändert.
- VNC lehnt --user, --domain, --size, --layout, --cert-policy und --tls-profile ab. Klassische Authentifizierung verwendet acht UTF-8-Kennwortbytes. Ohne Authentifizierung ist --vnc-security none ohne Kennwort nötig. Unterstützter VNC-Transport ist unverschlüsselt.
- VNC unterstützt keine Dateien, Audio, Mikrofone oder aktiven Layoutänderungen. UTF-8-Zwischenablage erfordert Aushandlung; sonst ist nur Latin-1 möglich.
- RDP-Dateien erfordern Laufwerkumleitung. Audio, Zwischenablage, Mikrofon und mehrere Bildschirme hängen ebenfalls von Serverrichtlinien ab.
- Windows/macOS bieten native Viewer und Statusanzeigen. Linux benötigt Anzeige-/Audiodienste und zum Speichern von Anmeldedaten Secret Service. Ohne Desktop bleiben unterstützte CLI-Aktionen verfügbar.
- Unicode wird zur Anwendungskompatibilität zeitlich verteilt gesendet. Timeout passend wählen und Ergebnis prüfen; kein Viewer garantiert jedes Zeichen auf jedem Server.
Fehler beheben
OBSERVATION_REQUIRED / INVALID_COORDINATES- Neue Aufnahme erstellen sowie Topologie und Koordinaten prüfen.
SESSION_PAUSED / CONTROL_HELD_BY_HUMAN- Eingaben stoppen und auf ausdrückliche Rückgabe an den Agent warten.
AUTH_FAILED / VNC_AUTH_FAILED- Konto, Kennwortquelle und Serverrichtlinien prüfen.
RDP_TLS_HANDSHAKE_FAILED / CERTIFICATE_UNTRUSTED- TLS, Zertifikatregeln und Fingerabdruck prüfen; TLS-Fehler bedeuten nicht automatisch ein falsches Kennwort.
CAPABILITY_UNAVAILABLE / CLIPBOARD_ENCODING_UNSUPPORTED- Fähigkeiten oder Textkodierung prüfen und eine unterstützte Aktion wählen.
REQUEST_TIMEOUT / REQUEST_ID_CONFLICT / REQUEST_WINDOW_EXPIRED- Vor Wiederholung Operation und Bildschirm prüfen; IDs nicht mit anderen Argumenten oder nach Ablauf der Aufbewahrung wiederverwenden.