starten eines Programms auf einem entfernten Rechner im wmi, aber auch das öffnen der apps-Fenster (in c#)
Habe ich durchsucht die Seite nach Seite nach Seite der Daten über das web, und jeder scheint zu sagen, dass man nicht über eine ausführbare Datei Remote ausführen einer Anwendung auf einem anderen Rechner via WMI und die Fenster der Anwendung angezeigt.
Kennt jemand eine Möglichkeit, um dieses?
Ich habe versucht erstellt 2 ausführbare Dateien. 1 ausführbare Datei verwendet, die Prozess-Klasse und einfach startet eine ausführbare Datei. Hier ist der code:
class Program
{
static void Main( string[ ] args )
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = "C:\\folder\\Mexe.exe";
startInfo.WindowStyle = ProcessWindowStyle.Normal;
//p.MachineName="server";
//p.Start(startInfo);
Process p = Process.Start( startInfo );
}
}
Diese ausführbare Datei befindet sich auf der remote-Maschine.
Habe ich eine andere ausführbare Datei wird auf dem client-Rechner. Diese exe verwendet WMI in C# Remote ausführen der Anwendung auf dem server über die Kommandozeile. Bekomme ich einen return-code von 0. Nichts passiert auf dem server.
Irgendwelche Ideen was ich tun könnte falsch?
Habe ich auch gedacht, über das erstellen einen geplanten task in den Taskplaner auf dem server, sondern dass die Aufgabe deaktiviert.
Jemand eine Idee, was der C# - code wäre ein WMI-Anwendung Auftakt dieser Aufgabe? Wäre es eine Möglichkeit zu erkennen, ob die Aufgabe/Anwendung gestartet, beendet?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie Win32_ScheduledJob.Erstellen Sie zum erstellen einer interaktiven Prozess aus der Ferne glaube ich.
Sehen
http://msdn.microsoft.com/en-us/library/aa389769%28VS.85%29.aspx
Können Sie nur planen, es für Jetzt +1 Sekunde.
Wenn Ihr Befehlszeilen-Zeichenfolge ist OK, der Prozess-name (Mexe.exe) erscheinen in der Prozessliste im Windows Task-Manager auch wenn es unsichtbar ist. Ich habe auch gesehen, Informationen, dass können Sie verwenden Sie geplante tasks, um den Prozess sichtbar, aber noch nie ausprobiert. Sobald Sie bestätigen, dass der Prozess erzeugt wird, könnten Sie versuchen, erstellen Sie eine geplante Aufgabe für es und läuft es mit "Win32_Process".Start().
die Sie gemacht haben könnte 'Mexe.exe' als eine Konsole-Anwendung. In Ihrem code , startInfo beschreibt eine windows-Anwendung. probieren Sie die 'Mexe.exe' als windows-Anwendung. ich habe versucht deinen code für Konsolen-und windows-Anwendung, und es funktionierte für windows-Anwendung.
- Und dies kann auch direkt durch eine ausführbare Datei auf den client.Keine Notwendigkeit eines zwischengeschalteten Servers ausführbare Datei aufrufen 'Mexe.exe'. Ist nur ein Vorschlag zur Verbesserung der perfomance..