Ich habe mehrere Slave-Maschinen und eine Master-Maschine, die zusammen eine verteilte Anwendung ausführen. Prozesse auf jeder Slave-Maschine müssen eine GUI und einen Netzwerkzugriff haben (ich denke, es würde dann als interaktiver Prozess bezeichnet). Zur Vereinfachung der Bedienung wäre es schön, wenn die Master-Maschine die Prozesse auf diesen Slave-Maschinen starten/stoppen könnte.Starten von Remote-Prozessen in einem Windows-Netzwerk
Meine erste Idee war, WMI und die Win32_Process-Klasse zu verwenden, um einen Remote-Prozess zu starten, aber bei weiteren Untersuchungen wurde gemeldet, dass Prozesse auf diese Weise nicht interaktiv und isoliert sind und daher keine GUI haben können. Ein Hinweis besagt, dass man Win32_ScheduledJob.Create verwenden kann, um einen interaktiven Remote-Prozess zu erstellen, aber er läuft unter dem LocalSystem-Konto, das ich vermeiden möchte (auch ich konnte es nicht einmal richtig laufen lassen).
Was wären gute Möglichkeiten, um dieses Problem zu lösen? Vielleicht ist es möglich, eine Hilfsanwendung zu starten, die wiederum einen korrekten Prozess startet, aber das scheint ziemlich schmutzig.
Edit: PsExec war wirklich klobig, wenn ich es versuchte und langsam wie die Hölle (nicht sicher warum). Mit Blick auf PsExec scheint es einen temporären Dienst auf dem Remote-Rechner installiert zu haben, um die Anwendung zu starten. Wäre dies der einzige Weg, einen interaktiven Prozess mit einer richtigen Identität zu erzeugen? Soll ich einen Helferdienst in das Setup für die Knoten aufnehmen? Aber selbst dann, wie würde ich dann damit kommunizieren?
Als ich PsExec ausprobierte, war es ziemlich langsam (nicht sicher warum) und funktionierte nicht ganz richtig. GUI-Apps würden gestartet werden, unter dem richtigen Konto, könnte in der Taskleiste gesehen werden, aber die tatsächliche GUI nie aktualisiert und nur eine tote "Block" war sichtbar. – gix