Referencia basada en el catálogo verificado de 0.1.0. Comprueba tu versión instalada: las funciones dependen de la plataforma y de la negociación del protocolo.
Observar, actuar y verificar
USER, SESSION, OBSERVATION, X e Y son marcadores. Envía la contraseña por stdin y cierra el flujo: --password-stdin no abre un diálogo interactivo. Guarda data.session, lee before.png, elige coordenadas de esa imagen y comprueba after.png. Enviar entrada no demuestra que la tarea haya terminado.
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 muestra la versión y las capacidades; --help-json devuelve el catálogo estructurado; COMMAND --help describe todas las opciones sin iniciar una sesión.
rdp-cli --version
rdp-cli --help-json
rdp-cli connect --help
JSON y opciones comunes
Los comandos normales devuelven un objeto JSON UTF-8 por stdout: ok: true con data, o ok: false con error. stderr contiene diagnósticos. Códigos de salida: 0 éxito, 1 fallo operativo, 2 argumentos no válidos.
La ayuda es texto. events --follow transmite NDJSON; events sin seguimiento devuelve un resultado JSON con data.events y data.ndjson. En PowerShell 5.1 configura [Console]::OutputEncoding y $OutputEncoding como UTF-8 para texto no ASCII.
data.session- Conserva el ID devuelto por connect.
data.observation- Usa el token de la captura; renuévalo tras reconectar o cambiar control o pantallas.
data.capabilities- Consulta las capacidades negociadas antes de usar archivos, sonido, portapapeles o pantallas.
data.state / data.remote_outcome- queued, sent, partial, unknown, cancelled y failed describen el progreso. remote_outcome: not_confirmed exige verificar el efecto.
data.transfer_id- Consulta o cancela con ese ID; espera un estado final y revisa los hashes de archivos completados.
error.code / error.message / error.retryable- Decide según el código estable. El mensaje aporta contexto; retryable no autoriza repetir a ciegas.
Todos los comandos aceptan --request-id y --timeout-ms. Reutiliza un ID solo con idénticos argumentos y dentro de la ventana de retención. Un tiempo agotado no demuestra que no se enviara entrada: consulta operations status.
--request-id ID · --timeout-ms MILLISECONDS Sesiones
connect requiere --host y, con RDP, --user. Puertos: RDP 3389, VNC 5900. Si la conexión exige contraseña, elige una fuente: --password, --password-stdin o --credential-ref. VNC con --vnc-security none no utiliza ninguna fuente de contraseña. --domain es de RDP; --size y --layout se excluyen. --connect-timeout-ms limita la conexión. reconnect deja la sesión pausada; disconnect no cierra la sesión del usuario remoto.
rdp-cli connect#
Crear y conectar una sesión RDP/VNC persistente
No necesita una sesión.
rdp-cli connect --help
rdp-cli list#
Listar sesiones visibles
No necesita una sesión.
rdp-cli list --help
rdp-cli status#
Consultar el estado de la sesión
Requiere --session SESSION.
rdp-cli status --help
rdp-cli reconnect#
Reconectar y permanecer en pausa
Requiere --session SESSION.
rdp-cli reconnect --help
rdp-cli disconnect#
Desconectar sin cerrar la sesión remota
Requiere --session SESSION.
rdp-cli disconnect --help
Visores y estado
watch abre un visor humano de solo lectura: --viewer window o web. Los comandos del Agent no lo necesitan. presence show/hide controla el estado local; --floating añade controles y --panel abre el panel de sesiones de macOS o Linux. Cerrar el visor de observación mantiene la conexión.
rdp-cli watch#
Abrir o activar un visor humano
Requiere --session SESSION.
rdp-cli watch --help
rdp-cli presence show#
Mostrar el estado de escritorio
No necesita una sesión.
rdp-cli presence show --help
rdp-cli presence hide#
Ocultar el estado sin desconectar
No necesita una sesión.
rdp-cli presence hide --help
Control y entrega
pause usa --session o --all y revoca el control humano. resume devuelve la sesión al Agent. control take necesita un viewer ID conectado; release puede indicar ese visor o el Agent destino. Respeta la pausa humana y captura de nuevo al recibir el control.
rdp-cli pause#
Pausar entrada y revocar control humano
Elige exactamente uno: --session SESSION o --all.
rdp-cli pause --help
rdp-cli resume#
Devolver la sesión al Agent
Requiere --session SESSION.
rdp-cli resume --help
rdp-cli control take#
Dar control al visor conectado
Requiere --session SESSION.
rdp-cli control take --help
rdp-cli control release#
Devolver control al Agent
Requiere --session SESSION.
rdp-cli control release --help
Archivos
--path es relativo a la unidad de intercambio; --local es un archivo o directorio cliente. Sobrescribir requiere --overwrite. upload/download devuelven un ID; status sin ID lista transferencias. cancel conserva archivos ya completados. cleanup elimina contenido seleccionado y puede devolver FILE_BUSY.
rdp-cli files list#
Listar la unidad de intercambio
Requiere --session SESSION.
rdp-cli files list --help
rdp-cli files upload#
Subir archivos o directorios
Requiere --session SESSION.
rdp-cli files upload --help
rdp-cli files download#
Descargar archivos o directorios
Requiere --session SESSION.
rdp-cli files download --help
rdp-cli files status#
Consultar transferencias
Requiere --session SESSION.
rdp-cli files status --help
rdp-cli files cancel#
Cancelar una transferencia
Requiere --session SESSION.
rdp-cli files cancel --help
rdp-cli files cleanup#
Eliminar contenido del intercambio
Requiere --session SESSION.
rdp-cli files cleanup --help
Audio y micrófono
audio status consulta capacidades. mute/volume afectan a un --viewer-id: on/off y --percent positivo. audio microphone solo consulta o detiene. Para iniciar el micrófono, una persona con control debe habilitarlo en un visor autorizado.
rdp-cli audio status#
Consultar capacidades de audio
Requiere --session SESSION.
rdp-cli audio status --help
rdp-cli audio mute#
Silenciar o reactivar un visor
Requiere --session SESSION.
rdp-cli audio mute --help
rdp-cli audio volume#
Ajustar el volumen de un visor
Requiere --session SESSION.
rdp-cli audio volume --help
rdp-cli audio microphone#
Consultar o detener el micrófono
Requiere --session SESSION.
rdp-cli audio microphone --help
Pantallas
monitors consulta la topología. monitors set acepta JSON o @file; --allow-reconnect permite reconectar si no hay cambio dinámico. Lee la nueva topología y captura otra imagen. VNC informa del framebuffer pero rechaza cambios solicitados de disposición.
rdp-cli monitors#
Consultar la topología negociada
Requiere --session SESSION.
rdp-cli monitors --help
rdp-cli monitors set#
Cambiar la disposición de pantallas
Requiere --session SESSION.
rdp-cli monitors set --help
Acceso web
web start configura escucha, certificado/clave TLS o proxy de confianza; --ice-server se puede repetir. Fuera de loopback se necesitan LAN/VPN, HTTPS y autorización. access grant usa --permission repetible y --expires-in en segundos. Permisos: session.observe/control, clipboard.read/write, files.read/write y audio.listen/send. Revocar cierra sus flujos.
rdp-cli web start#
Iniciar el servicio web autorizado
No necesita una sesión.
rdp-cli web start --help
rdp-cli web status#
Consultar el servicio web
No necesita una sesión.
rdp-cli web status --help
rdp-cli web stop#
Detener acceso web sin cerrar sesiones
No necesita una sesión.
rdp-cli web stop --help
rdp-cli access grant#
Crear una autorización web limitada
Requiere --session SESSION.
rdp-cli access grant --help
rdp-cli access list#
Listar autorizaciones
Requiere --session SESSION.
rdp-cli access list --help
rdp-cli access revoke#
Revocar autorización y flujos
Requiere --session SESSION.
rdp-cli access revoke --help
Operaciones y eventos
operations status consulta por operation ID o request ID original sin repetir entrada. events lee eventos; --follow continúa y --after usa un cursor. Un resultado sent necesita verificación en la aplicación remota.
rdp-cli operations status#
Consultar un resultado conservado
Requiere --session SESSION.
rdp-cli operations status --help
rdp-cli events#
Leer o seguir eventos
Requiere --session SESSION.
rdp-cli events --help
Confianza, credenciales e instalación
trust asocia destino RDP y huella en modo estricto. credentials remove borra la referencia indicada. En macOS y Linux, install-cli/uninstall-cli gestionan la entrada CLI y --prefix elige su ubicación; Windows ejecuta el archivo descargado. presence show --panel abre el panel de sesiones en macOS y Linux. El catálogo se verificó con el CLI publicado de macOS 0.1.0; las diferencias de Linux se contrastaron con su implementación publicada. licenses muestra versiones y licencias de terceros.
rdp-cli trust list#
Listar registros de confianza RDP
No necesita una sesión.
rdp-cli trust list --help
rdp-cli trust add#
Confiar en una huella concreta
No necesita una sesión.
rdp-cli trust add --help
rdp-cli trust remove#
Eliminar un registro de confianza
No necesita una sesión.
rdp-cli trust remove --help
rdp-cli credentials remove#
Eliminar una credencial del producto
No necesita una sesión.
rdp-cli credentials remove --help
rdp-cli install-cli#
Instalar la entrada CLI en macOS o Linux
No necesita una sesión.
rdp-cli install-cli --help
rdp-cli uninstall-cli#
Eliminar la entrada CLI creada
No necesita una sesión.
rdp-cli uninstall-cli --help
rdp-cli licenses#
Mostrar versiones y licencias de terceros
No necesita una sesión.
rdp-cli licenses --help
Condiciones de protocolo y plataforma
- RDP usa por defecto --cert-policy ignore y --tls-profile modern. strict verifica confianza y nombre; legacy permite TLS antiguo de forma explícita. No cambian la validación HTTPS del visor web.
- VNC rechaza --user, --domain, --size, --layout, --cert-policy y --tls-profile. La autenticación clásica usa ocho bytes UTF-8 de la contraseña; sin autenticación exige --vnc-security none y ninguna contraseña. Los transportes VNC admitidos no están cifrados.
- VNC no ofrece archivos, audio, micrófono ni cambios activos de pantallas. El portapapeles UTF-8 requiere negociación; de otro modo solo acepta Latin-1.
- Los archivos RDP requieren redirección de unidades. Audio, portapapeles, micrófono y varias pantallas dependen también del servidor.
- Windows/macOS tienen visor y estado nativos. Linux necesita servicios de pantalla para ventanas, audio para sonido y Secret Service para credenciales guardadas; sin escritorio siguen disponibles las operaciones CLI admitidas.
- La escritura Unicode se envía con pausas de compatibilidad. Ajusta el tiempo de espera para textos largos y verifica el resultado; ningún visor garantiza todos los caracteres en todos los servidores.
Recuperación de errores
OBSERVATION_REQUIRED / INVALID_COORDINATES- Captura de nuevo y comprueba pantallas y coordenadas.
SESSION_PAUSED / CONTROL_HELD_BY_HUMAN- Detén la entrada y espera a que una persona devuelva el control al Agent.
AUTH_FAILED / VNC_AUTH_FAILED- Comprueba cuenta, fuente de contraseña y política remota.
RDP_TLS_HANDSHAKE_FAILED / CERTIFICATE_UNTRUSTED- Revisa TLS, política de certificados y huella; un fallo TLS no implica contraseña incorrecta.
CAPABILITY_UNAVAILABLE / CLIPBOARD_ENCODING_UNSUPPORTED- Consulta capacidades o codificación y elige una operación compatible.
REQUEST_TIMEOUT / REQUEST_ID_CONFLICT / REQUEST_WINDOW_EXPIRED- Consulta operación y pantalla antes de reintentar; no reutilices IDs con otros argumentos ni tras expirar su retención.