enrico1973
Goto Top

programm zeitversetzt starten

Hallo,

hier ist ein kleines Netzwerk bestehend aus 1x W2003Server (Domäne) und 12 Clients alle XP.
Auf den Clienst ist ein Programm welches beim Systemstart automatisch startet, dieses Prgramm benutzt eine gemeinsame Datendatei die auf dem Server liegt. Nun startet dieses Programm aber auf einigen Rechnern schneller als die Netzlaufwerke verfügbar sind. Dann kommt natürlich eine Fehlermeldung. Startet man das Programm dann nochmals von Hand läuft es wie es laufen soll.


Wie kann ich es einrichten das dieses Programm erst startet wenn wirklich alle Netzlaufwerke verfügbar sind?

Content-ID: 13291

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

Ausgedruckt am: 21.11.2024 um 18:11 Uhr

11078
11078 18.07.2005, aktualisiert am 17.10.2012 um 15:41:50 Uhr
Goto Top
Hallo,

ich habe keine definitive Antwort, aber kann Dich vielleicht in die richtige Richtung "stoßen":

Ein ähnliches Problem wurde zufällig heute morgen schon einmal gepostet:
Netzlaufwerk wird zu spät erstellt....

Mit dem Unterschied, dass hier ein Server warten sollte, bis alle Netzlaufwerke verfügbar sind.

Schau Dir mal die Anwtort von "gemini" an. Besagte Gruppenrichtlinie gibt es - soweit ich weiß - nicht
auf XP-Clients. Allerdings werden durch die Richtlinien der Sparte "Administrative Vorlagen" eigentlich immer
nur Registry-Werte verändert.

Da Dein Win2003-Server aber sicher über besagte Richtlinie verfügt, müsstest Du über die ADM-Vorlage an den passenden
Registry-Wert kommen, der dieses beschriebene Verhalten erzeugt. Vielleicht "hört" auch XP auf diesen Reg-Wert, dann könnte man für
die Clients entweder eine eigene ADM-Vorlage dazu machen oder die ADM-Vorlage vom Server (evtl. mit ein wenig Handarbeit) auf die Clients migrieren.

Nur so eine Idee face-smile

Gruß,
TIM

P.S.: Um zu der eigentlichen Frage zurückzukommen: Es dürfte schwierig werden, ein Programm zeitversetzt zu starten. Windows Bordmittel (Taskplaner im wesentlichen) erlauben keine zeitgesteuerte Ausführung der Art "starte 3 Minuten nach Anmeldung des Nutzers". Was man machen könnte, ist das Programm über ein Batch-Script aufzurufen (oder über ein VBS), das eine bestimmte Zeit wartet. Ersteres geht meines Wissens nach bei Batch nur über eine Schleife, VBS kennt glaube ich eine Funktion "sleep(<em>Zeitspanne</em>)"
Biber
Biber 18.07.2005 um 20:17:20 Uhr
Goto Top
Zwei Ergänzungen:

es gibt für Batches tonnenweise irgendwelche "sleep [Dauer]"-Progrämmchen, eins davon ist im Windows Ressource Kit dabei ("TimeOut.exe").

Aber: braucht man/frau gar nicht, wenn auch das Clientprogramm, das die Datendatei abruft, in der Batchdatei selbst aufgerufen wird - nach dem Laufwerke verbinden.

Im Moment stehen doch offensichtlich die Programm "Netzverbinden.bat" und "ClientGreifAufServerDatenZu.lnk" parallel im AutoStartordner. Hintereinanderreihen und gut ist.

Frank / der Biber aus Bremen
enrico1973
enrico1973 18.07.2005 um 21:12:25 Uhr
Goto Top
also diese Netzverbinden.bat steht irgendwo in der AD, ist für alle user gleich. Dieses Programm steht nicht im Autostart, im Programm selbst gibt es eine Funktion "beim Rechnerstart automatisch Starten"

freue mich auf Lösungen face-smile
Biber
Biber 18.07.2005 um 21:38:04 Uhr
Goto Top
*lacht*

okay, enrico, dann hab ichs missverstanden....

aber die nächste dumme Idee: Der Programm-Funktion "Bei Rechnerstart automatisch starten" einfach das Häkchen wegnehmen und den bisher erzeugten AutoRun-Eintrag mit einem Batch im Autostart-Ordner aufrufen - ginge das nicht?
Denn das einfachste wäre schon, zumindest die Existenz des (gemapten) Serverlaufwerks vorher zu prüfen.. und das würde ich klassischerweise in einem Batch abfackeln.
Mir ist jedenfalls nicht bekannt, dass sich bei den AutoRun-Einträgen Reihenfolge oder gar Abhängigkeiten ("starte erst, wenn JobXY fertig ist") hinterlegen lassen.

Aber lerne gern dazu face-wink

Frank / der Biber aus Bremen
11078
11078 18.07.2005 um 22:06:42 Uhr
Goto Top
Ähh...

ich hab schon viereckige Augen, also klärt mich bitte mal auf, wo Enrico das mit ClientGreifAufServerDatenZu.lnk und Netzverbinden.bat genannt hat ??? Ich hab den Thread jetzt schon mehrfach angeschaut, aber ich bin wohl zu blind...oder kapier ich was nicht???

[Trägt jetzt zwar nichts zur Lösung bei, aber ist bestimmt hilfreich für mein Seelenheil face-wink]



Mir ist jedenfalls nicht bekannt, dass sich bei den AutoRun-Einträgen Reihenfolge oder gar Abhängigkeiten ("starte erst, wenn JobXY fertig ist") hinterlegen lassen.


Geht auch nicht. Siehe: http://support.microsoft.com/?scid=kb;en-us;314866&spid=3220&si ...

[ZITAT]
<em>If more than one program is registered under any particular key, the order in which those programs are run is indeterminate</em>
[/ZITAT]

Ich hab da übrigens noch eine Idee:

Frag - wie Biber ja vorgeschlagen hat - ab, ob ein bestimmtes Laufwerk gemapt ist, wenn JA, dann Programm starten, wenn nein, dann nicht. Diese Batch könnte man dann mit einem Dritt-Tool als Windows Service installieren. Das erlaubt es dann, ohne Schleifenkonstruktionen, etc. das Batch-Script z.B. alle 10 Sekunden wieder zu starten, falls das Laufwerk bis dahin noch nicht gemapt ist (hab es nicht probiert, aber müsste auch gehen).

Hier eine Auswahl solcher Tools: http://www.downloadjunction.com/product/software/8690/

Gruß,
TIM
enrico1973
enrico1973 18.07.2005 um 22:32:50 Uhr
Goto Top
Wer schreibt mir jetzt so eine Batch Datei? face-wink
Biber
Biber 19.07.2005 um 10:19:58 Uhr
Goto Top
Wir hier im Forum schreiben Dir die.. *gg

Nur ein paar Infos brauchen wir noch:

1) Der unterstellte AutoRun-Eintrag - gibt es den, hast Du den gefunden und wie lautet der?
2) wie heißt das gemapte Server-LW als Buchstabe?
3) was machen wir den Rest des Vormittags?

Frank / der Biber aus Bremen

P.S. @tim Hast ja recht, da hatte ich zu flüchtig gelesen bzw. zu kurz gedacht. Dachte, wenn die Programme parallel starten, liegen sie parallel im AutoStart-Ordner. Starten aber ja an anderer Stelle parallel. Was als Ansatz bestehen bleibt, ist die Strategie, die " in unserer Reihenfolge" nacheinander starten zu lassen.
enrico1973
enrico1973 25.07.2005 um 21:47:05 Uhr
Goto Top
Wenn man die Clientrechner Startet wird doch Automatisch eine .bat vom Server ausgeführt. könnte man das Programm auf den Clients auch in diese .bat einbinden? Die .exe für dieses Programm liegt allerdings auf dem C: des jeweiligen Clients, aber bei allen an der selben Position.
Ginge das so?

Dann würde er doch erst alle Laufwerke verbinden und anschliesend die .exe von C:xyz ausführen???
Biber
Biber 25.07.2005 um 21:50:11 Uhr
Goto Top
Exakt.