Tengo varias máquinas esclavas y una máquina maestra que juntas ejecutan una aplicación distribuida. Los procesos en cada máquina esclava deben tener una GUI y acceso a la red (creo que entonces se llamaría un proceso interactivo). Para facilitar el uso, sería bueno que la máquina maestra pudiera iniciar/detener los procesos en esas máquinas esclavas.Inicio de procesos remotos en una red de Windows
Mi primera idea fue utilizar WMI y la clase Win32_Process para iniciar un proceso remoto, pero luego de una investigación adicional se descubrió que los procesos iniciados de esta manera no son interactivos y están aislados, y por lo tanto no pueden tener ninguna GUI. Una nota dice que uno puede usar Win32_ScheduledJob.Create para crear un proceso interactivo remoto, pero se ejecuta bajo la cuenta LocalSystem que me gustaría evitar (ni siquiera pude ejecutarlo correctamente).
¿Cuál sería una buena manera de resolver este problema? Quizás es posible iniciar una aplicación de ayuda que a su vez inicia un proceso adecuado, pero parece bastante sucio.
Editar: PsExec era realmente torpe cuando lo probé y lento como el infierno (no estoy seguro de por qué). Si miramos más a PsExec, parece que instala un servicio temporal en la máquina remota para iniciar la aplicación. ¿Esta sería la única forma de engendrar un proceso interactivo utilizando una identidad adecuada? ¿Debo incluir un servicio auxiliar en la configuración de los nodos? Pero incluso entonces, ¿cómo me comunicaría con eso?
Cuando probé PsExec fue bastante lento (no estoy seguro de por qué) y no funcionó correctamente. Las aplicaciones de interfaz gráfica de usuario se iniciarían, con la cuenta correcta, se podrían ver en la barra de tareas, pero la GUI actual nunca se actualizó y solo se vio un "bloque" muerto. – gix