Ejecución remota con C#

maRc

Hola,

estoy haciendo un programa, con C#, para lanzar programas en otros ordenadores a través de la red. La idea es hacerlo de manera que no tenga que haber un cliente en cada máquina a la espera de recibir órdenes.

Utilizando WMI lo he conseguido, pero no de manera interactiva, es decir, el proceso aparece en el administrador de tareas, pero no sale la ventana de la aplicación, un requisito indispensable.

¿Alguien tiene alguna idea? He visto por ahí que una solución sería hacer una tarea programada, pero no me acaba de convencer esta aproximación.

Si opto por cliente/servidor, ¿cuál es la mejor forma de comunicar procesos con .NET? Había pensado hacerlo con MailSlots, que aunque no están de forma nativa, he encontrado un wrapper por ahí.

Soltrac

.NET Remoting es dios, no se si servirá para tu caso, pero para ejecución de código remoto, .NET remoting es la repolla.

Se nota q me gusta verdad? XDDD

Aunque ahora q lo pienso, con .NET remoting necesitas un proceso a la escucha para lanzar la aplicación (en mi opinión lo suyo sería un servicio), o como mínimo, un servidor IIS.

B

Yo te recomiendo usar un servidor por máquina, te ayudará si decides migrarlo a otros sistemas operativos.

Soleil

Ésto te va a encantar :-)
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

PD:
Si realmente necesitas hacerlo en C#, tira de Win32_ScheduledJob
que te permite lanzar procesos interactivos, puesto que Win32_Process lanza
los procesos a modo de servicios.

maRc

#4, eso ya lo había visto, pero tiene el problema de que los lanza como servicios.

Lo que dices del W32_ScheduledJob, es precisamente lo que comentaba en #1 de las tareas programadas.

Gracias.

11 días después
Sr_RoS

si tienes instalado el ghost para clonar, tines una opción para enviar programas y comandos

Usuarios habituales