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?
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?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 13291
Url: https://administrator.de/contentid/13291
Ausgedruckt am: 21.11.2024 um 18:11 Uhr
9 Kommentare
Neuester Kommentar
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
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>)"
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
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>)"
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
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
*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
Frank / der Biber aus Bremen
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
Frank / der Biber aus Bremen
Ä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 ]
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
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 ]
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
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.
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.