PowerShell: secuencia de comandos de inicio de sesión automático de escritorio remoto

14 mar 2024 3 min di lettura
PowerShell: secuencia de comandos de inicio de sesión automático de escritorio remoto
Indice dei contenuti

Introducción

En el acelerado mundo de la TI y el trabajo remoto, la eficiencia y las técnicas de ahorro de tiempo son clave. Para los profesionales que se conectan con frecuencia a escritorios remotos, el proceso de ingresar manualmente las credenciales de inicio de sesión puede ser una tarea tediosa y que requiere mucho tiempo. Para abordar este desafío, un script de PowerShell ofrece una solución automatizada para acceder a conexiones de Escritorio remoto, ahorrando tiempo y mejorando la productividad.

El script de PowerShell

El script de PowerShell proporcionado automatiza el proceso de inicio de sesión en una Conexión a Escritorio remoto (RDC). Utiliza inteligentemente una serie de comandos cmdlet para agilizar el proceso de autenticación, permitiendo a los usuarios conectarse a su escritorio remoto sin la necesidad de ingresar manualmente sus credenciales cada vez.

## PowerShell Script to auto login to remote desktop

 # Set variables for server address, username, and password
 # Keep password in single quote to handle special character
 $Server = "rdc.example.com"
 $User = "username"
 $Password = 'password'

 # Remove any existing Remote Desktop Connection credentials from Windows Credential Manager
 cmdkey /list | ForEach-Object {
 if ($_ -like "*target=TERMSRV/*") {
 $credentialTarget = $_ -replace " ", "" -replace "Target:", ""
 cmdkey /del:$credentialTarget
 }
 }

 # Announce the initiation of a connection to the specified Remote Desktop
 echo "Connecting to $Server"

 # Save the Remote Desktop connection credentials using cmdkey
 cmdkey /generic:TERMSRV/$Server /user:$User /pass:$Password

 # Initiate a Remote Desktop connection to the specified server
 mstsc /v:$Server

Cómo funciona el guión

Configuración de los parámetros de conexión: el primer paso es configurar la dirección del host del sistema de escritorio remoto y las credenciales de inicio de sesión. Puede configurar variables para la dirección del servidor, el nombre de usuario y la contraseña.

$Server="rdc.example.com"
 $User="username"
 $Password='password'

Eliminación de credenciales existentes: el código comienza con la lista de todas las credenciales guardadas usando cmdkey /list y luego filtra las credenciales para la conexión de escritorio remoto usando el patrón "target=TERMSRV/". Luego elimine estas credenciales para asegurarse de que se utilice la nueva información de inicio de sesión.

cmdkey /list | ForEach-Object{
 if($_ -like "*target=TERMSRV/*"){
 cmdkey /del:($_ -replace " ","" -replace "Target:","")
 }
 }

Mostrar un mensaje: el script imprime un mensaje en la pantalla indicando que se ha iniciado la conexión al escritorio remoto.

# Announce the initiation of a connection to the specified Remote Desktop
 echo "Connecting to $Server"

Guardar credenciales: el script utiliza cmdkey para crear una entrada de credencial genérica para el servidor de escritorio remoto. Este paso guarda su nombre de usuario y contraseña, automatizando efectivamente el proceso de inicio de sesión.

cmdkey /generic:TERMSRV/$Server /user:$User /pass:$Password

Iniciar la conexión al escritorio remoto: Finalmente, el script llama a mstsc con el parámetro /v: para especificar la dirección del servidor, iniciando la conexión al escritorio remoto.

mstsc /v:$Server

Fases de implementación

Para implementar este script:

  1. Guarde el script anterior en un archivo como connect_remote_desktop.ps1
  2. Reemplace "rdc.example.com", "nombre de usuario" y "contraseña" con la dirección, el nombre de usuario y la contraseña reales del servidor de escritorio remoto.
  3. Abra PowerShell con privilegios de administrador.
  4. Vaya al directorio del script.
  5. Escriba .\connect_remote_desktop.ps1 para conectar el escritorio remoto.

Alternativamente, simplemente guarde el archivo de secuencia de comandos y la secuencia de comandos correcta en la secuencia de comandos, luego seleccione "Ejecutar con PowerShell".

Conclusión

Este script simplifica enormemente el proceso de conexión a un escritorio remoto, especialmente para profesionales de TI y trabajadores remotos que cambian con frecuencia entre servidores. Sin embargo, los usuarios deben asegurarse de que sus credenciales se almacenen de forma segura y considerar las implicaciones de seguridad de automatizar los procesos de inicio de sesión, especialmente en entornos con políticas estrictas de seguridad de TI.

En última instancia, al aprovechar PowerShell, los profesionales pueden disfrutar de un flujo de trabajo más eficiente y optimizado al centrarse en las tareas principales en lugar del proceso repetitivo de inicios de sesión manuales. Este guión es un testimonio del poder de la automatización en el lugar de trabajo moderno.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.