Uso de PsExec para ejecutar comandos en computadoras remotas – TrucosInformaticos

General

PsExec es una útil herramienta de línea de comandos para que los administradores de sistemas ejecuten programas y comandos en computadoras remotas. Esta guía describe ejemplos útiles de cómo utilizar la herramienta PsExec para ejecutar comandos de forma remota.

Cómo descargar e instalar PsExec en Windows

PsExec.exe es parte del paquete PsTools de Sysinternals. Puedes descargarlo del sitio web de Microsoft (La versión actual es PsExec v2.43).

No se requiere instalación para PsExec. Simplemente descargue el PSTools.zip archivar y extraer el PsExec64.exe y PsExec.exe archivos a una carpeta local C:\Windows\System32.

psexec se conecta a una computadora remota

La sintaxis de PsExec es la siguiente:

psexec \\RemotePCName [-u username[-p password]] command [arguments]

Enumere las opciones de comando PsExec disponibles ejecutando el psexec en el símbolo del sistema.

computadora remota psexec cmd

Por ejemplo, para obtener el nombre de usuario actualmente conectado en la computadora remota llamada semanas11ejecuta el comando:

psexec.exe \\wks11 qwinsta

Ejemplo de cmd remoto de psexec

PsExec se conecta a una máquina remota, ejecuta el comando dado como argumento e imprime el resultado en la pantalla.

¿Cómo funciona PsExec?

  1. PsExec copia el psexesvc.exe ejecutable en el recurso compartido Admin$ de la computadora remota (C:\Windows\System32\psexesvc.exe), crea e inicia el PSEXESVC servicio;
  2. El PsExec local se conecta al PSEXESVC remoto, envía el comando y espera el resultado. control remoto psexec
  3. Si el comando se ha ejecutado correctamente, verá un código de salida de 0.
  4. PsExec detiene el servicio y lo elimina automáticamente.

Para que PsExec se conecte a una computadora remota, se deben cumplir las siguientes condiciones:

Nota. Algunos programas antivirus pueden detectar por error PsExec como malware, una herramienta de piratería PUA (aplicación potencialmente no deseada) o una herramienta de administración remota.

Uso de PsExec para ejecutar comandos remotos con ejemplos

Veamos algunos ejemplos útiles del uso de PsExec para ejecutar comandos en computadoras remotas.

Ejecutar múltiples comandos con PsExec

Si necesita ejecutar varios comandos en una computadora remota uno tras otro, ejecútelos como argumentos para el cmd.exe comando, separándolos con && personajes. Por ejemplo:

PsExec -nobanner \\wks11 cmd /c 'net localgroup administrators user1 /add && net localgroup administrators'

Este comando agrega un nuevo usuario al grupo de administradores locales y enumera la membresía actual.

cmd remoto psexec

El -nobanner Esta opción le permite ocultar el banner de inicio de PsExec y el mensaje de derechos de autor.

Usando el modo interactivo PsExec

PsExec permite crear una sesión interactiva con una computadora remota y ejecutar comandos en tiempo real:

psexec \\lon-srv01 cmd

Esto abrirá un símbolo del sistema interactivo. Cualquier comando que escriba en la consola se ejecutará en la computadora remota lon-srv01.

computadora remota psexec

Para detener una sesión interactiva de PsExec, ejecute:

Exit

Uso de PsExec con credenciales de usuario alternativas:

De forma predeterminada, PsExec utiliza el usuario actual para conectarse a la máquina remota. Puede configurar credenciales de usuario remoto alternativas en PsExec:

psexec.exe \\lon-srv01 -u user -p password cmd.exe

Ejecutando el comando PowerShell en PsExec

Incluso puedes usar PsExec para ejecutar comandos de PowerShell de forma remota. Por ejemplo, el siguiente comando le devolverá el tamaño del directorio C:\PS en la computadora remota:

psexec \\lon-srv01 powershell -ExecutionPolicy RemoteSigned -command "'{0:N2}' -f ((gci C:\PS | measure Length -Sum).Sum/1MB)"

Nota. Puede usar el cmdlet Invoke-Command en lugar de PsExec para ejecutar comandos de forma remota con PowerShell.

Copie y ejecute un archivo local en una computadora remota con PsExec

El -do El parámetro le permite especificar el nombre de un archivo local que desea copiar y ejecutar en una computadora remota.

psexec \\lon-srv01 -c c:\ps\myscript.bat

Para copiar e instalar software de forma remota desde el instalador MSI, use el comando:

psexec.exe \\lon-srv01 -c setup.msi –i –s "msiexec.exe /i setup.msi"

Nota. Debe encerrar la ruta entre comillas dobles si contiene espacios. Por ejemplo:

psexec \\lon-srv01 "c:\\Program Files (x86)\app1\app.exe"

Cómo utilizar PsExec para ejecutar comandos en varias computadoras remotas

PsExec permite ejecutar el comando en varias computadoras remotas simultáneamente. Puede especificar la lista de computadoras remotas separadas por comas:

psexec \\PC1,PC2,PC3,PC33 "ipconfig /all"

O guarde una lista de computadoras en un archivo de texto (un nombre de host en cada línea) y luego especifique la ruta a ese archivo:

psexec @c:\ps\computer_list.txt ipconfig

Para redirigir los resultados de la ejecución de comandos en computadoras remotas a un archivo de registro de texto:

PsExec @C:\Tools\computer_list.txt CMD /C "hostname & ipconfig" >> C:\Tools\log2.txt

comando de ejecución psexec en una computadora remota

Valora este post

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *