domingo, 13 de julio de 2008

PsExec (SysInternals)

PsExec está considerado el más útil del paquete PsTools. Ejecuta comandos en el sistema remoto, incluso enviando un programa si no lo encontramos en el sistema objetivo. No necesita instalar DLL de apoyo, o aplicaciones de servidor especiales, sin embargo debemos de tener acceso al recurso compartido ADMIN$ y las creedenciales adecuadas para que esta herramienta funcione.

Si el nombre o la ruta del programa contienen espacios, debemos ponerlos entre comillas, si el programa no existe en el equipo objetivo, usamos la opción -c. Esto no lo copiará, desde el sistema que está ejecutando PsExec, al directorio \\NombreDelEquipo\System32. -f sobrescribe el archivo si éste ya existia.

En principio, podríamos usar -c para enviar todo un conjunto de herramientas al objetivo. Si creemos que un archivo ya existe y queremos sobrescribirlo con una versión más reciente, podemos usar la opción -v junto con -c. La opción -v indica a psexec que sólo debe copiar el archivo si el número de versión o si la marca de fecha es más actual.

También podemos controlar cómo se ejecuta la aplicación remota estableciendo su prioridad (-low, -belownormal, -abovenormal, -high, -realtime) y los procesadores de un equipo con varias CPU, usando la opción -a. Especificamos los procesadores mediante un número después de la opción -a, como -a 1,2 para usar los procesadores 1 y 2 en un sistema con cuatros CPU.

La última herramienta es PsShutdown pero como realiza las mismas funciones que la herramienta shutdown del Resource Kit no las voy a explicar.

Información y Descarga:
http://technet.microsoft.com/es-es/sysinternals/bb896649.aspx

8 comentarios:

Santiago dijo...

Que tal te felicito por tu blog, pero tengo una duda, es posible copiar archivos entre maquinas empleando psexec.exe. He estado intentando con xCmd.exe que es un programa que es similar a psexec.exe pero no lo he logrado hasta el momento por lo que el sistema es un Windows Server 2008.

Neztgul dijo...

@Santiago: Muchas gracias por tu felicitación.

Yo no he utilizado en ningún caso el programa xCmd.exe

He encontrado Uso del xCdm.exe que tal vez te sea de ayuda en Internet:

http://translate.google.es/translate?hl=es&sl=en&u=http://www.codeguru.com/Cpp/I-N/network/remoteinvocation/article.php/c5433&sa=X&oi=translate&resnum=1&ct=result&prev=/search%3Fq%3Dxcmd.exe%26hl%3Des%26client%3Dfirefox-a%26rls%3Dorg.mozilla:es-ES:official%26hs%3DsAl

Espero que te sea de ayuda.

Si aún así no funciona prueba con el PsExec.exe haber si te funciona.

Saludos!

Santiago dijo...

Gracias, y al manual ya lo había visto. El xCmd.exe en su última versión, la 1.5 viene con la opción para copiar archivos a equipos remotos, pero no funciona en Windows Vista. Voy a intentar con psesec.exe.

Neztgul dijo...

@Santiago: Por lo que tengo entendido de ese programa, solo funciona con NT4/2000/XP

Entonces como bien dices no debería de funcionar con Vista. También he observado por la red que hay ciertos problemas con xCmd. Lo dicho, prueba con PsExec de SysInternals que a mí no me dió ningún solo problema.

Saludos

Santiago dijo...

Si ahora mismo estoy probando al psexec.exe, espero obtener resultados positivos. El fin de todo esto es desarrollar un sistema distribuido para una aplicación que estamos desarrollando y que funcionara en la Intenet.

Gracias por tu ayuda.

Ibe dijo...

Hola te felicito por blog,pero sabes que tengo una pregunta cuando intento ejecutar un scrit que utiliza el psexe para instalar un agente de monitoreo en una maquina remota, tengo un error y dice que me asegure que la cuenta admin$ esta habilitada, esto lo puedo verificar pero porque ocurre que se deshabilita esta cuenta o como la puedo habilitar.

GRACIAS!!!!!

Neztgul dijo...

Pues la verdad es un error un tanto extraño, lo investigaré y te contaré, yo para hacer el post probé algo parecido y no dio error alguno.

saludos

Anonymous dijo...

Estaba buscando la solucion porque no me acordaba, la he encontrado en
http://forum.sysinternals.com/forum_posts.asp?TID=3935