No he podido encontrar ninguna documentación que indique que esto es posible, pero ¿hay alguna forma de pasar el nombre de host al que le gustaría conectarse como argumento de línea de comandos a la Conexión de escritorio remoto de Microsoft para Mac?
Algunos antecedentes para los interesados:
Soy administrador de sistemas y estoy en el proceso de cambiarme a una MacBook Air como mi computadora de trabajo principal desde una computadora portátil con Windows 7. Con frecuencia uso Remote Desktop Client para conectarme a los servidores, y en Windows, uso Launchy como mi iniciador de teclado. He asignado "rdp" como palabra clave, así que cuando invoco Launchy, escriba "rdp {tab} servername", pasa el texto después de la tecla tab como el nombre de host a mstsc.exe (es decir, mstsc.exe / v: servername) . Esto da como resultado que el cliente de escritorio remoto abra una sesión con el nombre de host especificado.
fuente
Respuestas:
No hay acceso a la línea de comandos para Microsoft Remote Desktop Client. Pero el cliente de escritorio remoto CoRD gratuito y excelente maneja
rdp://
enlaces que le permitirían llamarlo desde un iniciador de su elección o incluso a travésopen
de la línea de comandos.La documentación de CoRD en github establece cómo puede usar parámetros codificados con URL para abrir sesiones RDP configuradas por completo.
rdp: // sintaxis de URL
CoRD maneja rdp: // URL, que puede usar desde muchos lugares dentro de OS X. Desafortunadamente, no hay forma de extender el diálogo "Conectar al servidor" de Finder, que admite el lanzamiento de URL de VNC, por lo que no podemos iniciar CoRD desde allí . Si Apple cambia esto (o si alguien conoce una forma de extenderlo) nos encantaría saberlo.
fuente
rdp://
enlaces (aunque usan un esquema diferente). Ver la respuesta de Jack Douglas.No amo CoRD. Funciona, pero parece descamarse periódicamente. Hice mi propio script CLI para Microsoft RDP. Creé un script sed + open bash para hacer posible pasar 2 argumentos al cliente de escritorio remoto de Microsoft. Puedo pasar un nombre de host y puedo activar un interruptor para conectarme a la consola de los servidores Server 2003.
Sé que esto podría llevarse más lejos. Por ejemplo:
Así es como lo hice:
Contenido de mi script bash :
Alias agregado a .bash_profile
(Esto supone que mi archivo de script rdp.sh está en mi directorio de inicio, ~ /)
Haga que el script sea ejecutable:
Ejecute el script:
aquí hay un ejemplo que incluye el conmutador de consola. Dejé una línea de depuración en el script que muestra lo que se va a depositar en el archivo t.rdp.
fuente
open -na "/Applications/Microsoft Remote Desktop.app/Contents/MacOS/Microsoft Remote Desktop" path/to/profile.rdp
No sé cuándo cambió esto, pero el Cliente de escritorio remoto de Microsoft maneja los enlaces rdp: // ahora:
Todos los atributos están documentados en la página TechNet de soporte del esquema URI del cliente de escritorio remoto .
fuente
Bueno, después de consultar mi Microsoft TAM, descubrí que no hay forma de pasar un nombre de host al cliente de Microsoft a través de la línea de comandos.
CoRD, por otro lado, puede hacer lo que quisiera manejando enlaces rdp: //. Después de instalar CoRD, si escribe
en Terminal o iTerm2, abrirá una sesión para el nombre del servidor host dentro de CoRD.
Utilizo Alfred (http://www.alfredapp.com/) como mi alternativa "Launchy" en Mac, después de haberlo descubierto después de ser un usuario de Quicksilver. Compré el Powerpack para Alfred, que le permite usar una serie de extensiones, una de las cuales le da la posibilidad de lanzar scripts de shell. Así que creé una extensión de script de shell, asigné la palabra clave rdp, la configuré en "parámetro requerido" y configuré el script en:
Esto me permite invocar a Alfred y escribir rdp {tab} servername {return} para abrir una sesión de Conexión a Escritorio remoto en el servidor remoto.
fuente
El script anterior no funciona con el último "Escritorio remoto de Microsoft". Hacer referencia a la aplicación con una variable fue problemático, así que codifiqué la ruta (que es diferente del ejemplo original). También necesitaba eliminar el parámetro '--args' y comenzó a funcionar.
fuente
Por lo tanto, esto es principalmente para desarrollar otras respuestas y evitar hacks de secuencias de comandos:
(TL; DR: puede no haber sido cierto antes, pero el RDP de Microsoft ahora maneja archivos .rdp automáticamente con
open
)Ya tengo muchos perfiles almacenados en la GUI RDP. (Por cierto, el plist es
~/Library/Containers/com.microsoft.rdc.mac/Data/Library/Preferences/com.microsoft.rdc.mac.plist
, como siempreplutil -convert xml1 xyz.list
para la visualización humana)(Referencia adicional: https://macmule.com/2013/10/22/how-to-create-a-microsoft-remote-desktop-8-connection/ )
Para que sea ordenable:
.rdp
archivo, notando que no tendrá información de contraseñaopen
nombre.rdp
de archivo desde la línea de comandofuente
Creo que sería igual de fácil hacer una plantilla para cada servidor al que desea conectarse, así como una plantilla con un campo de servidor vacío para esas conexiones "únicas en la vida". Simplemente los introduzco en una carpeta y los nombro o numero para obtener el orden correcto. Arrastre la carpeta al dock y tengo un lugar en el que puedo hacer clic para obtener una lista rápida de las plantillas rdp que puedo hacer clic para conectarme. O puedo Comando + Espacio y escribir el nombre del archivo y presionar enter para ejecutarlo. O puede escribir TYPEY TYPEY TYPEY TYPE e instalar todo tipo de aplicaciones de gestión.
fuente