llgucci
Goto Top

Batch Datei gleichzeitig auf mehreren Rechnern remote starten?

Ich bräuchte bitte eure Hilfe face-smile

Hallo alle zusammen face-smile!

Das ist mein erster Beitrag und möchte mich im vor raus für Fehler bzw. missverständnissen entschuldigen.

Ich weiß nicht ob ich hier richtig bin, aber ich hoffe ihr könnt mir vielleicht mit meinem "kleinen Problem" helfen?

Für mein neues Projekt, ein deutscher Stromanbieter, möchte der Kunde eine spezielle Funktion von uns haben.
Er möchte über einen eigenen Button, sich aus unserem System ausloggen (Telefonvermittlungssystem). Den Button
bieten wir schon an bzw. da liegt auch noch nicht das Problem face-smile.

Was ich bis jetzt geschafft habe, ist das ausloggen aus unserem System mittels Batch File. Dieses Batch File wird dann
über unserem Button aufgerufen und löst einen Reset in unserem System aus. Was ich leider bis jetzt nicht geschafft habe,
ist das ganze gleichzeitig "Remote", auf 20 Arbeitsplätzen auszuführen.

Infos nebenbei:

- Wir haben 20 Arbeitsplätze.
- auf jedem Arbeitsplatz läuft die gleiche Applikation (mit eigenen Button).
- Button ist mit einem EXE File verbunden und führt es aus.
- Es soll möglich sein von allen Arebitsplätzen aus dieses Batch File auszuführen (lokal und auf allen Arbeitsplätzen).
- Das Batch File befindet sich auf allen Arbeitsplätzen (lokal abgespeichert).

Ich habe mich im Internet einmal Informiert und die "PSEXEC" Applikation gefunden, sie funktioniert aber erfühlt nicht ganz meine Anforderungen.
Das Problem liegt in der Ausführung von dieser Applikation. Wenn ich das "PSEXEC" Tool lokal ausführe, verbindet er sich zuerst mit einem Rechner
und führt das Batch File aus. Wartet bis das Batch File ausgeführt ist und verbindet sich erst dann zum zweiten Rechner und führt das Batch File aus.

Das Problem liegt in dieser Schritt für Schritt Ausführung. Für meine Anfordernug muss das ganze gleichzeitig funktionieren, d.h. wenn ich auf diesen
Button drücke, dann starte eine EXE in der nur der Befehl für das "PSEXEC" Tool (starte Remote das Batch File) drin steht und das GLEICHZEITIG auf allen
20 Arbeitsplätzen inkl. diesen Rechner auf dem der Button gedrückt wurde.

In späterer Folge soll das ganze mit Visual Basic realisiert bzw. dazu implementiert werden.

SCENARIO:

- Ein Arbeitsplatz drückt den Button ein Fenster erscheint und gibt ihm die Möglichkeit zur Entscheidung (JA/NEIIN).
- Drückt er "Nein" dann wird das erste Fenster geschlossen und es passiert nichts.
- Drückt er "JA" dann soll das Batch File gestartet werden und gleichzeitig ein neues Fenster, auf allen Arbeitsplatzen auf gehen.
- In diesem neuen Fenster soll nur ein Countdown laufen, z.B. von 10 Runterzählen (WICHTIG: Dieses zweite Fenster muss dann auf allen Arbeitsplätzen sichtbar sein).
- Danach werden die Arbeitsplatze aus unserem System ausgeloggt (Batch File läuft).

Am wichtigsten wäre für uns, das gleichzeitige ausführen vom Batch File auf allen Rechnern.

Vielleicht bin ich in diesem Forum doch richtig ;) und es kann mir jemand bei meinem "kleinen Problem" helfen bzw. nützliche Tipps geben? Ich wäre euch sehr dankbar für jede Hilfe.

Vielen Dank im vor raus,

Lg

llgucci

Content-Key: 125883

Url: https://administrator.de/contentid/125883

Printed on: April 16, 2024 at 07:04 o'clock

Member: maretz
maretz Sep 27, 2009 at 06:29:50 (UTC)
Goto Top
Moin,

es gibt jetzt 2 Möglichkeiten: Die User sollen aus dem Windows-System gekickt werden: guck mal "Shutdown -i" an - sofern du die entsprechenden Rechte hast darfst du damit auch remote jemanden runterfahren

Oder (was ich eher glaube) Ihr wollt das die 20 Plätze nur aus der Applikation gekickt werden. Hat eure Anwendung verschiedene User-IDs und eine Datenbank-Anbindung? Dann würde ich das darüber lösen (der User bekommt nen Kill-Flag welches beim Login automatisch auf 0 gesetzt wird - und deine App setzt das auf 1). Dann dieses Flag bei jeder Aktion der Anwendung abfragen lassen (geht natürlich ggf. auf die Performance des Progs). Aber das hätte den smarten Vorteil das der User nicht aus der Anwendung gekickt wird falls der grad nichts macht (z.B. Gespräch mit Kunden und der hat die Kunden-Akte grad offen -> fatal wenn du vorm Kunden sitzt und mitten im Gespräch dann sagen musst "oh, mir is grad meine Anwendung abgeschmiert, ich muss ihre Kundendaten nochmal öffnen"). Und bei der nächsten Aktion kommt halt dann die Aufforderung das er sich bitte neu anmelden möchte da es ggf. neue Daten gibt o. whatever...

Gruß

Mike
Member: bastla
bastla Sep 27, 2009 at 06:53:52 (UTC)
Goto Top
Hallo Ilgucci und willkommen im Forum!

Nur als Randnotiz zu:
Wenn ich das "PSEXEC" Tool lokal ausführe, verbindet er sich zuerst mit einem Rechner und führt das Batch File aus. Wartet bis das Batch File ausgeführt ist und verbindet sich erst dann zum zweiten Rechner und führt das Batch File aus.
Mit der Option "-d" sollte sich das Warten vermeiden lassen ...

Grüße
bastla
Member: llgucci
llgucci Sep 27, 2009 at 11:28:07 (UTC)
Goto Top
Hi Batsla!

Das mit der Option -d habe ich schon ausprobiert. Will aber leider nicht funktionieren.
Das "PSEXEC" Tool macht trotzdem noch alles Schritt für Schritt. Das Problem bei der
Schritt für Schritt Abwicklung liegt bei der Dauer.
Der Kunude möchte einfach nur unseren Button drücken und mein schon funktionierendes
Batch File soll auf allen Arbeitsplätzen gleichzeitig aufgerufen werden und innerhalb einer
Minute alle ausgeloggt sein.

Mein Problem liegt "echt nur" beim gleichzeitigen öffnen, "Remote auf allen Arbeitsplätzen",
meines Batch Files??

Danke für deinen Beitrag face-smile

Lg

llgucci
Member: llgucci
llgucci Sep 27, 2009 at 11:41:45 (UTC)
Goto Top
Moin Maretz,

Also die Arbeitsplätze herunterfahren dürfen wir nicht, weil es sich um abgesetzte Arbeitsplätze handelt, die sich
im Technikraum (im Keller) befinden.

Wir bitten dem Kunden nämlich ein eigenes Telefon GUI an, welches er mit einem Touchscreen verwenden kann
und das ausloggen von diesem Telefon GUI hab ich mittels BATCH File schon geschafft.

Nur möchte ich das ganze viel schneller durchführen, d.h.

- Der Kunde loggt sich an einem Arbeitsplatz an und drückt bei einem Notfall unseren eigenen Button, dann soll
ein neues Fenster aufgehen, nur am eigenen Arbeitsplatz (habe ich schon im Visual Basic 2005 realisiert), wo er sich
noch einmal entscheiden kann (zwischen Nein und Ja - wenn Ja, wird dann ein neues Fenster geöffnet mit einem
rückwärts zählenden Timer - auf allen Arbeitsplätzen und gleichzeitg mein Batch File auf allen Arbeitsplätzen aufgerufen.
Nachdem der Timer abgelaufen ist (der Timer zählt einfach nur runter, ist mit nichts verbunden) schließt sich das
Fenster wieder und das Batch File soll auf allen Arbeitsplätzen, GLEICHZEITIG ausgeführt sein.

Die Benutzer müssen sich dann erneut an unserem Telefon GUI anmelden.

Das "PSEXEC" Tool mit der Option -d habe ich auch schon ausprobiert, aber diese Option konnte mir leider auch nicht helfen face-sad

Ich habe mich im Internet ein wenig informiert und habe eine Option im Visual Basic 2005 gefunden.

- Winsock (AxWinsock)

Könnte ich das vielleicht verwenden, anstatt dem "PSEXEC" Tool?

Danke für deine Hilfe!

Lg

llgucci
Member: 2hard4you
2hard4you Sep 28, 2009 at 05:59:01 (UTC)
Goto Top
Moin,

setze einfach ein Start vor Dein PSEXEC, damit geht der sofort zur nächsten Zeile

Gruß

24
Member: llgucci
llgucci Sep 28, 2009 at 10:53:18 (UTC)
Goto Top
Moin,

Danke dir. Es hat super funktioniert.

Ein Problem weniger. Was muss ich den in das Batch File einbauen, damit er kein CMD Fenster öffnet beim ausführen?

Und für mein letztes Problem brauche ich nur noch eine grafische Darstellung (realisiert über VISUAL BASIC oder alternativen)?

VISUAL BASIC:

- Der Kuden drückt auf unserem Button und das "erste Fenster" soll sich öffnen
- Auf diesem "ersten Fenster" gibt es nur zwei Buttons, die ein JA und ein NEIN darstellen.
- Bei NEIN - "erstes Fenster" schließt sich wieder
- Bei JA soll sich mein Batch File auf allen Rechnern + der Rechner auf dem das File gestartet wurde, gestartet werden.
- Über das Batch File soll sich dann ein "zweites Fenster" öffnen.
- Das "zweite Fenster" soll auf allen Rechnern + Rechner auf dem das Batch File ausgelöst wurde angezeigt werden und einen Countdown darstellen.
- Der Countdown soll mit nicht verbunden sein - einfach nur runter zählen und dann sich wieder schließen.
- Im gleichen Moment soll auch mein Batch File fertig geworden sein und das GUI abgemeldet.

Bin für jede Hilde dankbar,

Danke im vor raus,

lg

Walter
Member: 2hard4you
2hard4you Sep 29, 2009 at 05:16:26 (UTC)
Goto Top
Moin


Zitat von @llgucci:
Moin,

Danke dir. Es hat super funktioniert.

Ein Problem weniger. Was muss ich den in das Batch File einbauen,
damit er kein CMD Fenster öffnet beim ausführen?


gib doch einfach mal start /? ein...

face-wink

Gruß

24
Member: llgucci
llgucci Sep 29, 2009 at 16:02:19 (UTC)
Goto Top
Moin,

Auch dieses Problem konnte ich schon beseitigen, mittels einer neuen Verknüpfung auf meine Batch Datei.

Wenn man dann in die Eigenschaften der Verknüpfung schaut, dann gibt es eine Option die "Ausführen:" heißt und dort kann man dann
"Minimiert" auswählen.

Öffnet man jetzt die Verknüpfung wird die Batch Datei dann MINIMIERT gestartet und man sieht kein CMD Fenster ;)

Ich hab es auch schon mit "start /D "Pfad" /min test.bat" probiert aber leider funktioniert das überhaupt nicht face-sad

Mein Problem mit der Visual Basic Geschichte hab ich auch schon lösen können.... Mir fehlt (schon wieder einmal) nur eine Sache.

Wenn ich meine erste EXE (erstellt im Visual Basic - JA/NEIN Abfrage) Datei öffne möchte ich, dass sie nur einmal aufgerufen werden kann, d.h. sollte sie schon geöffnet sein,
soll es nicht mehr möglich sein, dass gleiche Fenster (selbe EXE Datei) noch einmal zu öffnen.

Kennt vielleicht irgend jemand (oder vielleicht auch du 2hard4you) eine Lösung für dieses Problem???

Verwende VISUAL BASIC 2005

Danke im vor raus.

lg

llgucci