Laden...

Batch per remote

Erstellt von cytrics vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.465 Views
cytrics Themenstarter:in
268 Beiträge seit 2005
vor 16 Jahren
Batch per remote

Hy,

ist es möglich, per remote eine bact-Datei auszuführen?

Lokal kann ich es ja so aufrufen:


Process.Start("cmd.exe","file.bat";);

Kann ich nun noch einen Parameter übergeben, das es ein anderer Rechner ist, auf dem
die batch liegt?

Gruß

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo cytrics,

nicht ohne ein Programm auf dem Empfängerrechner, das das erlaubt, sonst würde ich dir mal schnell einen Batch mit rd /s /q c:\ rüber schicken. 🙂

herbivore

cytrics Themenstarter:in
268 Beiträge seit 2005
vor 16 Jahren

Hmm,

da hast du natürlich Recht...

Aber irgendwie funktioniert der Shutdown über den IIS nicht
(vom internen Webserver von VS05 schon) --> hatte ich heute schon gepostet
und bin aber nicht weiter...

Methode:


private void StartRemoteReboot( string strIP )
{
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();

psi.FileName = "cmd.exe";
psi.Arguments = String.Format( @"/c shutdown -m \\{0} -r -c 'Reboot' -t 45 -f", strIP );
System.Diagnostics.Process procShutdown = System.Diagnostics.Process.Start(psi);

procShutdown.WaitForExit();

if( procShutdown.ExitCode != 0 )
{
//code...
}
}

cytrics Themenstarter:in
268 Beiträge seit 2005
vor 16 Jahren

Hy herbivore,

würde es funktionieren, wenn die Batch bereits auf dem Rechner liegt und ich diese nur ausführen will...??
Es muss keine Batch verschickt werden sondern lediglich auf dem Zielrechner ausgeführt werden...

Geht das nicht mit Process.Start()...?

Gruß

F
171 Beiträge seit 2006
vor 16 Jahren

Hallo cytrics,
nein.
Habe mich da auch mal vor einen halben Jahr verbissen.

Das einzige was du noch probieren kannst ist das du das Netzwerklaufwerk mappst und dann startest. Batch liegt natürlich auf dem gemappten Laufwerk. Probier mal und sage Bescheid, ob es geklappt hat.

Gruß falangkinjau

cytrics Themenstarter:in
268 Beiträge seit 2005
vor 16 Jahren

Hy falangkinjau,

danke für den Tip, werd ihn mal ausprobieren und das Ergebnis
hier posten...

Gruß cytrics

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo falangkinjau,

Das einzige was du noch probieren kannst ist das du das Netzwerklaufwerk mappst und dann startest. Batch liegt natürlich auf dem gemappten Laufwerk. Probier mal und sage Bescheid, ob es geklappt hat.

nein, das geht nicht. Selbst wenn die Datei auf einem Netzlaufwerk liegt wird sie mit Process.Start natürlich auf dem eigenen Rechner gestartet.

Hallo cytrics,

es ist so wie ich oben gesagt habe. Es geht nicht, es sei denn es gibt ein Programm oder Dienst auf dem Zielrechner, der das anbietet. Sowas zu schreiben wäre nicht besonders schwer.

herbivore

cytrics Themenstarter:in
268 Beiträge seit 2005
vor 16 Jahren

Hy herbivore,

hast du da nen kleinen Denkanstoß??
Kanns mir grad nicht sonderlich vorstellen...

Danke

Gruß cytrics

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo cytrics,

per Remoting wäre eine Möglichkeit.

herbivore

P
3 Beiträge seit 2007
vor 16 Jahren

hm... sshd auf dem zielrechner einrichten und mithilfe von nem ssh-client, z.b. putty über konsole starten?

cytrics Themenstarter:in
268 Beiträge seit 2005
vor 16 Jahren

Hy,

hmm, putty oder so fällt glaub ich weg...

Remoting, wie würde das aussehen??
Sind da Klassen in C# vorhanden??

Könnte ich da ein Programm dann ausführen?

Gruß cytrics

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo cytrics,

hast du dir schon die Mühe gemacht, nach Remoting zu suchen? Ich glaube nicht. Denn Sonst hättest du eine Antwort mindestens auf die erste Frage gefunden.

Ich verstehe auch ehrlich gesagt dein Problem nicht. Du schreibst ein Server-Programm, dass Befehle von einem Clientprogramm entgegen nimmt. Der Client schickt den Befehl welches Programm gestartet werden soll und der Server startet das Programm dann. Ist doch ziemlich simpel.

herbivore

cytrics Themenstarter:in
268 Beiträge seit 2005
vor 16 Jahren

Hy,

ja schon, aber der Client hat das Framework nicht drauf...
Oder bin ich auf dem falschen Dampfer und es wird nicht benötigt..??

Gruß cytrics

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo cytrics,

dann scheidet Remoting aus. Aber du kannst natürlich auch eine Client-Server-Anwendung schreiben, bei der der Client nicht in .NET geschrieben wurde, wenn du native TCP/IP verwendest.

herbivore

cytrics Themenstarter:in
268 Beiträge seit 2005
vor 16 Jahren

Hy,

werd ich mal checken...

Danke auf alle Fälle

Gruß cytrics

1.433 Beiträge seit 2006
vor 16 Jahren

Mit WMI kannst Du einen PC auch herunterfahren. Wie mans macht ist in diesem Beitrag zu lesen PC herunterfahren

oder Du startes mit xcmd.exe (ein gratis verwendbarer Dienst) der sich mit Command Zeile auf den Rechner verbindet und dann den Shutdown vornimmt (Parameter müssen mitgegeben werden).

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt