Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Programm auf anderem PC starten

Frage Netzwerke Netzwerkgrundlagen

Mitglied: imebro

imebro (Level 2) - Jetzt verbinden

30.10.2006, aktualisiert 18.10.2012, 34351 Aufrufe, 25 Kommentare

Eine Batchdatei soll von einem anderen PC aus per Batchdatei ausgeführt werden

Hallo,

nachdem ich schon mehrere erfolglose Versuche mit der netten Hilfe einiger von Euch gestartet habe, habe ich nun zunächst mal eine ganz einfache Variante versucht... aber selbst die funktioniert nicht.

Problem:

Ein Programm (EXE-Datei) soll von einem anderen PC aus gestartet werden.

Hierzu habe ich, da alles andere bisher nicht funktionierte, auf dem entfernten PC (PC08) eine kleine Batchdatei mit dem Namen "start_antrag.bat" hinterlegt, die die entsprechende Verknüpfung (antrag.lnk) direkt auf dem Desktop startet.

Die "start_antrag.bat" befindet sich in einem freigegebenen Verzeichnis "das".
Dies funktioniert einwandfrei, wenn ich die Batchdatei direkt an dem PC starte.

Der Inhalt dieser Batchdatei (start_antrag.bat) ist:

@echo off

c:\"dokumente und einstellungen"\user\desktop\antrag.lnk
Die Verknüpfung "antrag.lnk" startet das Programm "Antrag" - also die Datei "antrag.exe"
Wie gesagt - das funktioniert am PC selbst einwandfrei.

Nun habe ich auf meinem PC eine kleine Batchdatei hinterlegt mit dem Namen "antrag.bat", die die Batchdatei auf dem anderen PC nun starten soll, damit diese wiederum das Programm ausführt.

Der Inhalt dieser Batchdatei (antrag.bat) ist:

@echo off

start \\pc08\das\start_antrag.bat
Wenn ich jedoch von meinem PC aus diese Batchdatei (antrag.bat) ausführe, erhalte ich folgende Fehlermeldung:

c:\"dokumente und einstellungen"\user\desktop\antrag.lnk ist entweder falsch geschrieben oder konnte nicht gefunden werden
Die Fehlermeldung bezieht sich also auf den entfernten PC, wo sich ja die Verknüpfung (antrag.lnk) auf dem Desktop befindet.

Was muss ich tun, damit ich die Batchdatei (start_antrag.bat) von meinem PC aus starten kann, um das Programm (antrag.exe) auszuführen?

Hoffentlich kann mir jemand helfen... versuche es schon seit ein paar Tagen erfolglos

Viele Grüsse
Ingo
Mitglied: petenicker
30.10.2006 um 12:25 Uhr
Hallo,

nachdem ich schon mehrere erfolglose
Versuche mit der netten Hilfe einiger von
Euch gestartet habe, habe ich nun
zunächst mal eine ganz einfache Variante
versucht... aber selbst die funktioniert
nicht.

Problem:

Ein Programm (EXE-Datei) soll von einem
anderen PC aus gestartet werden.

Hierzu habe ich, da alles andere bisher
nicht funktionierte, auf dem entfernten PC
(PC08) eine kleine Batchdatei mit dem Namen
"start_antrag.bat" hinterlegt, die
die entsprechende Verknüpfung
(antrag.lnk) direkt auf dem Desktop startet.


Die "start_antrag.bat" befindet
sich in einem freigegebenen Verzeichnis
"das".
Dies funktioniert einwandfrei, wenn ich die
Batchdatei direkt an dem PC starte.

Der Inhalt dieser Batchdatei
(start_antrag.bat) ist:

@echo off

c:\"dokumente und
einstellungen"\user\desktop\antrag.lnk
Die Verknüpfung "antrag.lnk"
startet das Programm "Antrag" -
also die Datei "antrag.exe"
Wie gesagt - das funktioniert am PC selbst
einwandfrei.

Nun habe ich auf meinem PC eine kleine
Batchdatei hinterlegt mit dem Namen
"antrag.bat", die die Batchdatei
auf dem anderen PC nun starten soll, damit
diese wiederum das Programm ausführt.

Der Inhalt dieser Batchdatei (antrag.bat)
ist:

@echo off

start \\pc08\das\start_antrag.bat
Wenn ich jedoch von meinem PC aus diese
Batchdatei (antrag.bat) ausführe,
erhalte ich folgende Fehlermeldung:

c:\"dokumente und
einstellungen"\user\desktop\antrag.lnk
ist entweder falsch geschrieben oder konnte
nicht gefunden werden
Die Fehlermeldung bezieht sich also auf den
entfernten PC, wo sich ja die
Verknüpfung (antrag.lnk) auf dem Desktop
befindet.

Was muss ich tun, damit ich die Batchdatei
(start_antrag.bat) von meinem PC aus starten
kann, um das Programm (antrag.exe)
auszuführen?

Hoffentlich kann mir jemand helfen...
versuche es schon seit ein paar Tagen
erfolglos

Viele Grüsse
Ingo

Ich verstehe nicht, was die Verknüpfung soll. Wenn du das Verzeichnis freigegeben hast und die Rechtevergabe auch korrekt ist, musst du die EXE auch ausführen können.
Siehst du von deinem Rechner aus den PC08 in der Netzwerkumgebung? Was macht denn die antrag.exe? Und wo befindet sich diese?
Bitte warten ..
Mitglied: imebro
30.10.2006 um 12:31 Uhr
Hallo und danke für Deine Antwort.

Ich habe es über die Verknüpfung versucht, da der Start der antrag.exe nicht funktioniert hat... über die Verknüpfung klappt es komischerweise.

Den PC08 sehe ich in der NW-Umgebung und kann auch zu der "start_antrag.bat" navigieren.

Die Antrag.exe führt ein Programm aus, womit einige Leute hier arbeiten. Sie befindet sich im Verzeichnis c:\oh\antrag.exe

Gruss
Ingo
Bitte warten ..
Mitglied: petenicker
30.10.2006 um 12:38 Uhr
Und diese anderen Leute arbeiten von ihren PCs aus mit diesem Programm? Falls ja, wie? Über die Verknüpfung auf dem Desktop eines lokalen Benutzers? Das kann ich mir nur schwer vorstellen.

Ist das Verzeichnis "oh" auf dem PC08 auch freigegeben? Dann sollte doch auch der Aufruf "\\pc08\oh\antrag.exe" funktionieren.
Bitte warten ..
Mitglied: filippg
30.10.2006, aktualisiert 18.10.2012
Hallo,

eine Batch-Datei wird immer auf dem Rechner ausgeführt, von dem aus sie aufgerufen wird, und nicht auf dem, auf dem sie gespeichert ist (oder auch: jede Datei wird auf dem Rechner ausgeführt, von dem aus sie aufgerufen wird, nicht auf dem, auf dem sie gespeichert ist, wenn du zum Aufruf einfach nur die Dateifreigabe verwendest). Daher erhälst du auch die entsprechende Fehlermeldung, wenn du die bat von deinem Rechner aus ausführst, auf deinem Rechner gibt es wohl die antrag.lnk nicht.
Je nach dem, was du nun genau willst heisst die Lösung Remotedesktop (und Verwandte wie UltraVNC...), Remote Login (oder auch RemoteShell, Telnet...) oder psexec. Siehe z.B. auch http://www.administrator.de/forum/remote-angelegenheit-24503.html#comme ...


Filipp
Bitte warten ..
Mitglied: d00meR
30.10.2006 um 13:10 Uhr
Du brauchst nen Trojaner ;)
Bitte warten ..
Mitglied: 8644
30.10.2006 um 14:09 Uhr
Hi,

schau dir mal den Befehl at an! Ist zwar von hinten durch die Brust in's Auge, aber naja...
Du kannst auf dem Fremdrechner einen Task planen aller %time% + x und den dann auch wieder abschießen. Ist zwar umständlich, aber mit ein bisschen Geschick und freundlicher Hilfe gewisser User (), bekommt man evtl. was hin.

Psycho
Bitte warten ..
Mitglied: imebro
30.10.2006 um 14:10 Uhr
Hallo Petenicker,

Die Daten des Programms liegen auf dem Server und jeder Client startet das Programm über eine EXE-Datei (antrag.exe), die auf seinem eigenen PC in Laufwerk "c:\oh" liegt.

Hierfür hat jeder auf seinem Desktop eine entspr. Verknüpfung liegen, die ich über die Batchdatei angesprochen hatte.

Ja, das Verz. "oh" auf dem PC08 ist auch freigegeben.

Im Grunde müßte das alles auch einfacher gehen.

Ich will ja nur von einem PC aus ein Programm ausführen, was auf einem anderen PC liegt.

Gruss
Ingo
Bitte warten ..
Mitglied: petenicker
30.10.2006 um 14:48 Uhr
Ich glaube, ich habe hier ein eklatantes Verständnis-Problem. Verbessere mich bitte: Auf jedem Client befindet sich eine Verknüpfung zu einer lokalen EXE in einem lokalen Verzeichnis. Die EXE als solches baut aber eine Verbindung zum Server auf.
Das heißt für mich doch, dass es sich bei der antrag.exe um ein auf jedem Client installiertes Programm handelt, mit Installationsroutine, etc.
Wenn dieses Programm auf deinem Rechner nicht installiert ist: wie willst du es dann ausführen? Woher soll dein Rechner die notwendigen Informationen (Server-Anbindung, Registry-Einträge usw.) herbekommen?
Das geht nur, wie hier bereits erwähnt, über eine Session auf einem PC, auf dem die Installation vorhanden ist. Und das Programm läuft dann auch nur auf diesem PC.
Bitte warten ..
Mitglied: imebro
30.10.2006 um 15:13 Uhr
Ja - so ähnlich ist es.

Ich versuchs nochmal

Auf jedem Client gibt es ein Verzeichnis c:\oh\antrag.exe
Mit dieser EXE startet jeder Mitarbeiter das Programm "Antrag".
Die Daten für das Programm (also Datenbank) liegen jedoch auf dem Server.

Ich möchte nun einfach von meinem PC aus dieses Programm "Antrag" auf einem der anderen PC´s starten können. Dafür ist es doch sicherlich egal, ob das Programm auch auf meinem PC installiert ist... ich möchte ja einfach nur die EXE auf einem anderen PC starten.

Bekomme das aber einfach nicht hin

Grüsse
Ingo
Bitte warten ..
Mitglied: 8644
30.10.2006 um 15:21 Uhr
Hi Ingo,

Verständnisfrage: Hast du etwas davon, wenn das Programm auf einem anderen Rechner läuft? Oder möchtest du die Mitarabeiter zwingen, mit diesem Programm zu arbeiten? Da gäbe es dann andere Wege. Ich habe übrigens mal mit dem unten genannten at-Befehl mal ein bisschen experimentiert und bin damit durchaus in der Lage Programme auf einem anderen Rechner zu starten.

Psycho
Bitte warten ..
Mitglied: petenicker
30.10.2006 um 15:27 Uhr
Dafür ist es doch
sicherlich egal, ob das Programm auch auf
meinem PC installiert ist...

Genau das ist es nicht. Weil dem Programm die weiterführenden Informationen fehlen.
Nehmen wir mal folgendes Beispiel: Auf einem entfernten Rechner befindet sich ein Word-Dokument. Bei dir ist kein Word installiert. Du verbindest dich mit dem anderen Rechner über ein Netzlaufwerk. Doppelklick auf die Word-Datei. Wirst du das Dokument lesen können? Richtig: Nein! Weil dein Rechner mit den Informationen, die er vom anderen Rechner bekommt nichts anfangen kann.

Und dass mir jetzt keiner mit WordPad kommt

Mit anderen Worten: Nur weil du von deinem Nachbarn einen Dachziegel "klaust", hast du noch lang kein eigenes Haus.
Bitte warten ..
Mitglied: imebro
30.10.2006 um 19:52 Uhr
OK Petenicker - jetzt verstehe ich, warum wir dauernd aneinander vorbei schreiben

Danke für das Beispiel mit dem Word-Dokument.

Also... nehmen wir das gleiche Beispiel:

Ich möchte also das Word-Dokument auf dem anderen PC starten!
Und jetzt kommt´s --> ich möchte es NICHT auf meinem PC lesen können, sondern es soll an dem anderen PC gelesen werden können.

Verstehst?

Das mit der von mir beschriebenen "antrag.exe" war vielleicht auch etwas verwirrend, weil ich einfach irgendeine Datei genommen habe, die bei uns halt ein Programm startet. Leider kann man so natürlich nicht verstehen, warum ich ein Programm auf einem anderen PC starten will und dass dann nur DORT damit gearbeitet werden soll... SORRY!

Also --> Sinn und Zweck der ganzen Sache sind Programm-Updates.

Im Moment ist es so, dass ich zum Update des Programms (Antrag) an jeden PC muss und starte dort die Datei "Update.exe", die sich auf dem Server befindet.

So - jetzt möchte ich das automatisieren.

Ich möchte also erreichen, dass alle PC´s, die mit dem Programm "Antrag" arbeiten über einen einzigen Klick auf eine Batchdatei upgedatet werden.

Dazu müßte ich die Update.exe also auf jedem PC starten und schon wären alle PCs auf dem aktuellen Stand.

Die Daten:

- Update.exe befindet sich auf dem Server unter der Freigabe "s:\oh\update\update.exe"
- Das Prog. "Antrag" befindet sich auf jedem PC auf "c:\oh\oh.exe"

Im Grunde ist der Pfad zum eigentlichen Programm ja eher unwichtig.
Es reicht ja, wenn ich die "update.exe" von meinem PC aus starten kann.

ABER WIE???

Danke und Grüsse aus Bonn,
Ingo
Bitte warten ..
Mitglied: filippg
30.10.2006 um 20:27 Uhr
Wenn es regelmässige Updates sind könntest du sie über den Taskplaner starten, ansonsten schaue dir halt mal das von mir bereits erwähnte psexec an.

Filipp
Bitte warten ..
Mitglied: dirtyoetker
30.10.2006 um 20:34 Uhr
halloechen,

wenn du schon ein netzwerk hast, solltest du die aufgerufenen .exe dateien alle auf dem file server parat haben. so kannst du ein update gewaehrleisten, auch wenn die clients nicht an sind.

nachteil ist, du musst allen bescheid sagen dass sie aus dem programm raus muessen, damit die dateien durch das update ueberschrieben werden koennen. dies trifft natuerlich nur zu, wenn die .exe datei beim aufruf nicht geschlossen wird.

du kannst dann mit einer einzigen batch datei alle .exe dateien auf deinem file server updaten.

im laufe der zeit wurde mi das aber auch zu kompliziert. ich suchte also nach einer moeglichkeit die .exe dateien in dem moment zu updaten, wo sie auch wirklich aufgerufen wird. denn wenn der eine oder andere clitn die .exe datei die fuer ihn bestimmt ist/war nicht mehr benoetigt, brauch sie auch nicht upgedatet zu werden.

also haben wir das so gemacht, dass das programm die aktuelle versionsnummer in einem bestimmten verzeichniss auf dem fileserver ablegt welche dann mit der versionsnummer des updates verglichen wird. ist die versionsnummer unterschiedlich, wird ueber shell das update prograemmchen aufgerufen, dann die eigentliche .exe datei geschlossen welches unser update prograemmchen sofort merkt, und kopiert dann das update in das richtige ziel. nach dem update vorgang, ruft das update prograemmchen die geupdatet .exe datei wieder auf und beendet sich selber.

und das ist unser vollautomatischer update service. diese massnahme war noetig, da diverse leute die lokal nicht anwesend sind, permament auf dem neusten stand gehalten werden muessen was die programmversion angeht und wird somit auch gewaehrleistet. das update steht also sofort nach ende der kompilierung allen sofort zur verfuegung.

dies hat allerdings auch den nachteil, mache einen fehler ins programm und du hast den zorn vieler ehemals netten user auf deiner seite....)

viele gruesse

falco

p.s. solltest du weitergehende fragen diesbezueglich haben, ruf (030-30307721) am besten an sonst tippel ich mir nen wolf. und solltest du nciht programmieren, mhhhh, dann weiss ich auch nicht.
Bitte warten ..
Mitglied: Biber
30.10.2006 um 20:58 Uhr
*pffff
Nun möchte ich aber doch mal meinen selbst gewählten Moderatorenpflichten freiwillig nachkommen und hier mal ein bisschen die Luft aus dem Käse drücken...

@imebro

Wie Du ja bemerkt hast, ist Dein Ansinnen vom Server aus auf x Clients eine Applikation starten zu wollen, auf Unglauben, Unverständnis und beharrliche Nachfragen gestoßen.

Natürlich ist es technisch mehr oder weniger stressarm machbar.

Dennoch würde ich Dich nochmal bitten, zwei Schritte zurückzutreten und erstmal vom gesunden Menschenverstand her zu schauen, was wohl sinnvoller ist:

a) ein Server bzw. Admin, der irgendwann (sagen wir mal um 12:47h nach dem Frühstück) einen Prozess-Start-Aufruf an seine 57 Clientschäfchen absetzt (von denen 16 grad zu Tisch sind, 12 in Besprechungen, 3 krank oder im Urlaub und 17 gerade IN der Applikation, die Du nun gerade jetzt updaten willst...

-oder-
b) eine Updatemimik a la dirtyfalco, bei der jeder Client (falls er überhaupt das Programm mal startet) beim Doppelklick die Meldung erhält:
Es ist eine neue Version verfügbar - einen Moment bitte....Update läuft....

Ich geb ja zu, die Frage is ein kleines bisschen suggestiv gestellt...

...aber ich denke wirklich, eine "Starte-jetzt-auf-allen-Clients-ein-Update"-Mimik macht vielleicht Sinn bei hochbrisanten M$-Sicherheitsupdates (obwohl auch da eine Risiko-Nutzen-Kalkulation erfolgen sollte).
Aber auf gar keinen Fall bei Client-Applikationen, die nicht von jedem genutzt werden.

Du willst doch nur gewährleisten, dass jeder, der mit der Appz arbeitet, dies mit der aktuellen Version tut. Thats all, oder?

Gruß
Biber
Bitte warten ..
Mitglied: Micha-HE
30.10.2006 um 21:13 Uhr
Also wenn ich es richtig verstanden habe (war schwierig zu lesen), dann sollte das Programm
"psexec" das richtige sein.

Es kann remote Programme starten, diese auch vorher dorthin kopieren und wieder entfernen und es kann auch so gestartet werden, das der remote Benutzer es auf seinem
Desktop sieht.

Schau Dir einfach mal die Optionen an. Es ist meiner Meinung nach von Sysinternals. Das
komplette Paket heisst PSTools.

Gruß an alle
Micha
Bitte warten ..
Mitglied: imebro
31.10.2006 um 09:42 Uhr
Hallo Biber,

JA.... genau das!

Wir hatten ja schonmal in einem vorherigen Beitrag Kontakt und Du hast mir mit dem Kopieren auf verschiedene Clients super weiter geholfen.

Auch diesmal liegst Du richtig.

Hier ist es halt so, dass ich etwa alle 2-4 Wochen an bestimmten Clients ein Update installieren muss. Das mache ich deshalb immer morgens früh, da ich der erste bin, der hier ist. Dazu mus ich eben an jeden einzelnen Client und folgendes ausführen:

- PC hochfahren

- anmelden als Administrator

- das Serververzeichnis öffnen, wo die Update.exe liegt
(s:\oh\update\update.exe)
Update.exe ausführen
(diese kopiert automatisch eine aktuallisierte Startdatei ins Verzeichnis "C:\oh")

- und dann zum nächsten Client und das gleiche von vorne

- und das 20 Mal

Sicher verstehst Du jetzt, dass ich das gerne irgendwie automatisieren würde.

Auch mit diesem "psexec" habe ich das bisher nicht geschafft - aber möglich ist das ganz sicher denke ich.

Hast Du noch Tipps?

Danke & Gruss
Ingo
Bitte warten ..
Mitglied: superboh
03.11.2006 um 01:33 Uhr
Hi,

also mir fallen momentan 2 Möglichkeiten ein:
Einmal das schon genannte psexec (Was geht da denn nicht? Hast Du mal versucht, mit psexec z.B. einfach nur Notepad auf dem andern Rechner zu starten?) und dann noch die RemoteConsole aus dem ResourceKit.

Viele Grüße,
Thomas
Bitte warten ..
Mitglied: imebro
03.11.2006 um 09:46 Uhr
Hi Thomas,

habe das Problem mittlerweise anders gelöst.

Lasse das Update zunächst am Server lokal ausführen und ersetze dann - per "replace" - diese Dateien auf allen Clients (über eine "for-Angabe").
Das funktioniert ganz gut.

Danke für Deine / Eure Hilfe!
Ingo
Bitte warten ..
Mitglied: goodbytes
03.11.2006 um 10:49 Uhr
Ich muss auch ab und zu eine Anwendung oder Batch auf einem anderen Rechner starten.
Ich lege auf dem Rechner, auf dem die Anwendung dann gestartet werden soll einen geplanten Task an. Den starte ich dann von meinem Rechner aus mittels einer Batch.

Hier ein kleines Beispiel. Es soll einfach nur sofort pcAnywhere im Host-Modus gestartet werden.

Batch auf meinem Rechner:
schtasks /run /tn "pcAnywhere starten" /s 192.168.1.100

("pcAnywhere starten" ist der Name des geplanten Task auf dem Zielrechner.)

Dieser geplante Task startet folgende Batch auf dem Zielrechner:
"C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Symantec\pcAnywhere\Host.bhf"

Mittels "net send" lass ich mir vom Zielrechner dann bestätigen, dass die Batch auch tatsächlich ausgeführt wurde.

Torsten
Bitte warten ..
Mitglied: imebro
03.11.2006 um 11:13 Uhr
Hallo Torsten,

danke für den Tipp.
Klingt auch interessant.

Noch ne Frage dazu:
Wie ist es in Deinem Fall, wenn der Zielrechner nicht eingeschaltet ist?
Wir der Task dann automatisch ausgeführt, sobald er eingeschaltet wird?

Gruss
Ingo
Bitte warten ..
Mitglied: goodbytes
03.11.2006 um 13:02 Uhr
Nein, würde dann nicht ausgeführt.
Aber ganz einfache Lösung (besonders geeignet wenn es mehrere Zielrechner betreffen soll).

Machst dir eine Batch, in der du existierende Freigaben (am bestehen die administrativen) abfragst.
Beispiel:

IF NOT EXIST \\192.168.1.100\C$ GOTO NEXT01
schtasks /run /tn "pcAnywhere starten" /s 192.168.1.100

:NEXT01
IF NOT EXIST \\192.168.1.101\C$ GOTO NEXT02
schtasks /run /tn "pcAnywhere starten" /s 192.168.1.101

:NEXT01

usw.

Geht auch anders, aber so ist`s am einfachsten.

Den Task lässt du dann einfach auf deinem Rechner periodisch laufen (alle viertel Stunde oder so). Dann klappert er alle viertelstunde dein Netzwerk nach ereichbaren Rechnern ab und startet den Task bei Erfolg.

Fügst nach "schtasks" noch eine Zeile für`s Protokoll ein, dann weißt du jederzeit wer alles erreichbar war.

Ich würde dann aber gleich bei der Batch-Datei der Zielrechner den Errorlevel in die gleiche Protokoll-Datei reinschreiben, damit du weißt, ob der Task auch erfolgreich ausgeführt werden konnte.

Torsten
Bitte warten ..
Mitglied: goodbytes
03.11.2006 um 17:33 Uhr
Ach so, vergessen.
Du musst für die Ausführung von "schtasks" auf dem Zielrechner natürlich lokaler Admin sein. Ich habe für solche Zwecke in der Domäne einen speziellen User mit Admin-Rechten angelegt. Wenn ich den geplanten Task auf der Zielmaschine anlege gebe ich als Userkennung zur Ausführung diesen User an und entziehe dem normalen User jegliche Berechtigung auf den Task.
Damit sieht der normale User weder den geplanten Task, noch dessen Ausführung während der Laufzeit.

Wenn es alle Maschinen im LAN betrifft kannst du in meinem Beispiel natürlich eine Zählschleife einsetzen.

Beispiel:

SET /a X = 0

:START
SET /a X = X+1
IF %X%==199 GOTO ENDE
IF NOT EXIST "\\192.168.1.%X%\C$ GOTO START
schtasks ...

:ENDE
SET X =
EXIT

Oder alternativ statt nach einer Freigabe einen einfachen Ping nutzen:


ping -n 1 192.168.1.100 | find /i "Antwort"
IF NOT %ERRORLEVEL% == 0 GOTO NEXT01
schtasks ...

:NEXT01

usw.

Torsten
Bitte warten ..
Mitglied: Diskilla
17.11.2006 um 14:08 Uhr
Ich habe mir jetzt nicht den ganzen Beitrag durchgelesen, aber hast dus schonmal mit der Remotedesktopverbindung versucht?
Log dich auf dem Server ein und starte das Prog.
Punkt.

Greetz Diskilla

P.S.: Noch viel Glück und Erfolg
Bitte warten ..
Mitglied: goodbytes
20.11.2006 um 07:36 Uhr
Meine Lösung war natürlich mehr dazu gedacht, wenn auf mehreren Rechnern ein bestimmtes Programm öfters ausgeführt werden soll.
Die Frage ist ja auch, ob es um Rechner, vor denen ein Mitarbeiter sitzt, oder um beispielsweise Server. (Da könnte ich ja ohnehin über Terminal eine eigene Session öffnen.)
Beim XP beende ich dagegen aus der Ferne die User-Session. Wenn er gerade am Arbeiten ist muss man halt mit Datenverlusten der geöffneten Dokumente rechnen.

Torsten
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung!

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Netzwerkmanagement
gelöst Batch Datei auf anderem PC öffnen (35)

Frage von Flodsche zum Thema Netzwerkmanagement ...

Windows 7
Windows 7 OEM Lizenz auf anderem PC verwenden (14)

Frage von Windows10Gegner zum Thema Windows 7 ...

Sicherheitsgrundlagen
Programm ohne UAC und Administratorrechte starten (3)

Anleitung von agowa338 zum Thema Sicherheitsgrundlagen ...

Windows Installation
Nach Hardwaretausch PC wieder starten (inkl. Physikalisch - Virtuell) (3)

Anleitung von Cloudy zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (10)

Frage von 1410640014 zum Thema Backup ...