Landschaftsgest 10 Geschrieben 23. August 2008 Melden Teilen Geschrieben 23. August 2008 Hallo und guten Abend. Habe da mal ne "Aufgabe" an die Scripter und Programmer... ;) Ich möchte in einer W2K3-AD-Umgebung mit 2000 und XP Clients ein Tool (ausführbare Datei, EXE) bei der Anmeldung der User laufen lassen. Allerdings soll dieses Tool genau einmal laufen. Also der User meldet sich an, das Tool läuft und gut ist. Meldet der User sich am nächsten Tag an, soll das Tool nicht mehr laufen. Wenn ich nun das Startscript für einen Tag laufen lasse, fallen natürlich viele User (Kranke und Urlauber) nicht in die "Scriptphase", so dass diese dann nicht in den Genuss der automatischen Anpassung durch das Tool kommen. Hintergrund ist eine Exchange-Migration. Die User sollen nach der Migration ein automatisch erzeugtes Standard-Mail-Profil bekommen. Ich habe auf der Suche nach geeigneten Tools das RichProfile entdeckt. Dies ist für meine Belange vollkommen ausreichend und funktioniert auch tadellos, sogar von Outlook 2000 bis zu Outlook 2007 werden mit RichProfile die Standard-Outlook-Profile erzeugt. Nun möchte ich natürlich nicht, das jeden Tag die User ein neues Standard-Outlook-Profil bekommen. Daher der Gedanke, dass Tool pro User und Anmeldung nur 1x laufen zu lassen. Allerdings habe ich keine Ahnung, ob und wie man das bewerkstelligen kann. Evtl. hat hie ja jemand eine Idee, wie das Vorhaben zu realisieren ist... Besten Dank im Vorraus Nachtrag: Je länger ich drüber nachdenke, könnte es doch wie folgt laufen: In dem Startscript (*.bat) wird nach Aufruf des Tools die Variable %username% in eine Textdatei auf einem Net-Share geschrieben. Weiterhin wird vor dem Schritt "Tool ausführen" geprüft, ob in dieser Textdatei der %username% vorhanden ist. Ist er vorhanden -> "go to end" ;) Ist er nicht vorhanden, führe Tool aus. Das müsste doch funktionieren oder? THX Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 23. August 2008 Melden Teilen Geschrieben 23. August 2008 Moin, naja, die Aufgabe ist ja nicht wirklich schwer: Beim ersten Aufruf des Logonskripts schreibst du eine Flagdatei ein eine gut erreichbare Stelle. Wenn diese Flagdatei schon verhanden ist, führt das Logonskript die EXE-Datei nicht aus. Beispiel: if exist %userprofile%\executed.txt goto weiter \\server\pfad\exe.exe echo Ausgeführt>%userprofile%\executed.txt :weiter echo Hier gehts weiter Gruß, Nils Zitieren Link zu diesem Kommentar
Landschaftsgest 10 Geschrieben 23. August 2008 Autor Melden Teilen Geschrieben 23. August 2008 Das deckt sich irgendwie mit meinen Gedanken... ;) THX dafür. Werde es gleich mal ausprobieren... So noch mal drüber nach gedacht! (man man man, das ist aber auch schwer an so einem Tach zu so einer Stunde...) Alles in eine Datei zu schreiben, wäre wohl so einfach nicht möglich oder? Mal angenommen die User melden sich alle zur gleichen Zeit an, dann gäbe es wohl "txt-Salat"... Zur Erklärung: An welcher Stelle in dem "Code" wird die Datei mit dem %username% angelegt? Hätte vermutet, dort steht dann so etwas wie "write" oder "putin"...ähm "put in" ;) oder "input" oder so was. Sooo, ein paar Gedanken und Rotweingläsle später, denke ich mal, der Username wird per ">%username%\user.txt" in die TXT eingetragen. Und das funktioniert auch bei gleichzeitiger Anmeldung von 20 oder 50 Usern? Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 24. August 2008 Melden Teilen Geschrieben 24. August 2008 In der Registry gibt es HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\RunOnce Ich kann momentan keine dazu passende Gruppenrichtlinie finden. Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 24. August 2008 Melden Teilen Geschrieben 24. August 2008 Alternativ zu Nils Vorschlag: if exist \\Server\Share\%username%.txt goto weiter \\server\pfad\exe.exe echo Ausgeführt>\\Server\Share\%username%.txt :weiter echo Hier gehts weiter Es wird die EXE nur ausgeführt, wenn es keine %username%.txt gibt. Zitieren Link zu diesem Kommentar
Landschaftsgest 10 Geschrieben 24. August 2008 Autor Melden Teilen Geschrieben 24. August 2008 Hallo Sunny So in etwa hatte ich mir das vorgestellt. Es ist auch irgendwie übersichtlicher, wenn alle Text-Files an einem Ort liegen. Bin gerade dabei, das Ganze mal durch zu testen... Feedback folgt dann etwas später, aber eigentlich heute noch... ;) – So, da bin ich wieder. Läuft ja echt gut. Also besten Dank noch mal. Mein Script ist nun nach "Sunny61"-Art "gebaut". Das Beste, wenn ein User Probleme hat, einfach die TXT löschen, neu anmelden lassen und das Script läuft noch mal. THX@all Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 25. August 2008 Melden Teilen Geschrieben 25. August 2008 So in etwa hatte ich mir das vorgestellt. Es ist auch irgendwie übersichtlicher, wenn alle Text-Files an einem Ort liegen. das ist u.U. nützlich, beachte aber: Wenn derselbe Nutzer sich bei diesem Verfahren an verschiedenen Rechnern anmeldet, wird das Programm trotzdem nur einmal am ersten Rechner ausgeführt. Für das Outlook-Profil dürfte das also evtl. nicht so günstig sein. Gruß, Nils Zitieren Link zu diesem Kommentar
Landschaftsgest 10 Geschrieben 25. August 2008 Autor Melden Teilen Geschrieben 25. August 2008 @Nils Danke für den Hinweis. Habe ich auch schon drüber nach gedacht. Allerdings kommt dies eher selten vor. Bin gerade dabei, in die Textdatei, die den Namen des User enthält, den Rechnernamen mit eintragen zu lassen. Dann weiß man, für welchen User und auf welchem Rechner das Toll schon gelaufen ist. Und meldet der User sich tatsächlich an einem anderen Rechner an, bekommt er sein Standard-Outlookprofil zugewiesen. Sooo. Möglicherweise funktioniert das Scipt mit folgendem Code: if exist \\server\share\%computername%\%username%.txt goto end if exist \\server\share\%username%.txt goto EXE :EXE \\server\share\richprofile.exe echo %computername%>\\server\share\%username%.txt :end echo Erledigt Dabei wird zusätzlich der Rechnername in die Textdatei geschrieben und geprüft, ob dieser evtl. vorhanden ist. Nicht ganz sicher bin ich mir allerdings an folgender Stelle: if exist \\server\share\%computername%\%username%.txt goto end Wird hier tasächlich der Rechnername in der %username%.txt geprüft??? Kann es leider erst heute Abend prüfen, da ich dann erst wieder an meiner Testumgebung sitze... Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 25. August 2008 Melden Teilen Geschrieben 25. August 2008 Sooo. Möglicherweise funktioniert das Scipt mit folgendem Code: if exist \\server\share\%computername%\%username%.txt goto end if exist \\server\share\%username%.txt goto EXE :EXE \\server\share\richprofile.exe echo %computername%>\\server\share\%username%.txt :end echo Erledigt IMHO funktioniert das so nicht, da nach dem Computernamen ein Backslash kommt, und das bedeutet ein Ordner mit %COMPUTERNAME% wird gesucht. Kann es aber auch grade nicht prüfen. Dabei wird zusätzlich der Rechnername in die Textdatei geschrieben und geprüft, ob dieser evtl. vorhanden ist. Nicht ganz sicher bin ich mir allerdings an folgender Stelle: if exist \\server\share\%computername%\%username%.txt goto end Wird hier tasächlich der Rechnername in der %username%.txt geprüft??? Kann es leider erst heute Abend prüfen, da ich dann erst wieder an meiner Testumgebung sitze... Lass den Backslash raus, dann sollte es funktionieren. Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 25. August 2008 Melden Teilen Geschrieben 25. August 2008 Richtigerweise müsste es dann so lauten: if exist \\server\share\%computername%%username%.txt goto end \\server\share\richprofile.exe echo. >\\server\share\%computername%%username%.txt :end echo Erledigt Habt ihr zufällig "Roaming Profiles"? Dann wäre es doch eigentlich einfacher, das dort rein zu schreiben. Zitieren Link zu diesem Kommentar
Landschaftsgest 10 Geschrieben 25. August 2008 Autor Melden Teilen Geschrieben 25. August 2008 THX Nein, Roaming-Profile sind nicht vorhanden, leider... – Nabend auch... ;) Dank eurer Unterstützung läuft datt nu mit die Scripterei... ;) Herzlichen Dank an alle Beteiligten. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.