2013-04-10 7 views
5

Ich habe eine remote server name (Windows), username und password.Führen Sie einen Befehl in einem Windows-Remote-Server und erhalten Sie die Konsole-Ausgabe in C#. NET

Verwendung von C# .Net, ich will auf dem Remote-Server zu run a command und wieder die console output

Gibt es eine Möglichkeit, es in C# zu tun?

Ich konnte den Befehl mit WMI mit dem folgenden Code (teilweise) ausführen, aber ohne Glück der Konsolenausgabe. Ich konnte nur die Process ID zurückbekommen.

ObjectGetOptions objectGetOptions = new ObjectGetOptions(); 
ManagementPath managementPath = new ManagementPath("Win32_Process"); 
ManagementClass processClass = new ManagementClass(scope, managementPath,objectGetOptions); 

ManagementBaseObject inParams = processClass.GetMethodParameters("Create"); 

inParams["CommandLine"] = "cmd.exe /c "+ mycommand; 
ManagementBaseObject outParams = processClass.InvokeMethod("Create", inParams, null); 

Irgendwelche Ideen?

+0

Ich denke entlang der Linien des Aufrufs Ihres Befehls über eine Telnet-Sitzung ... Ich bin nicht sicher, dass viele Sicherheitsexperten zustimmen würden, aber es wäre relativ einfach, die Ausgabe zu erfassen. – dotcomslashnet

+0

Können Sie Konsolenausgabe in Textdatei umleiten und die Datei irgendwie zurückbekommen? –

+0

@dotcomslashnet Ich werde auf diese Zeilen überprüfen. – BlackCursor

Antwort

4

Diese Funktion ist, was ich nach einigen Recherchen herausgefunden habe. Hoffe es hilft jemand anderem.

1

Sie können versuchen, einen Befehl mit PsTools auszuführen. Eine der vielen Funktionen, die sie anbieten, ist PsExec. Es ermöglicht Ihnen, einen Befehl auf einem Remote-Server auszuführen. Es sollte auch die Ergebnisse in eine Konsole (auf dem lokalen PC, von dem aus es ausgeführt wurde) zurückgeben.

+0

Danke, dass Sie mich in die richtige Richtung zeigen. Ich habe erfolgreich 'PsExec' verwendet, um eine Verbindung zu einem Remote-Server herzustellen, einen Befehl auszuführen und die Konsolenausgabe als Zeichenfolge abzurufen. Ich füge den Code als eine separate Antwort hinzu, da es jemand anderem helfen könnte. Danke noch einmal! – BlackCursor

Verwandte Themen