Manchmal möchte man in seinem AD-Anmelde Script bestimmte Aktionen nur einmalig laufen lassen. Dies erreiche ich am einfachsten mit lokalen „Markern“, also leeren Dateien auf dem jeweiligen Rechner welches ich im Script prüfe.

Das Schema läuft im Prinzip wie folgt ab:

:: Update notwendig? 
 if exist "\\server-01\merker\%computername%-%username%-meineDB.txt" echo Kein Update notwendig
 if exist "\\server-01\merker\%computername%-%username%-meineDB.txt" goto FIN

:: Datenbank muss frisch kopiert werden
xcopy \\server-01\software\meineDB.accdr %userprofile%\meineDB.accdr /R /Y
echo 1 > "\\server-01\merker\%computername%-%username%-meineDB.txt"

:FIN

In Zeile zwei und drei prüfe ich das vorhanden sein einer Datei auf dem Server-01 ab. In das Verzeichnis/Freigabe Merker muss natürlich die Gruppe jeder Schreib- und Leserechte besitzen. Ist die Datei vorhanden, dann springe ich ab Zeile drei zur Sprungmarke FIN.

Ab Zeile 5 können nun Dinge einmalig durchgeführt werden. Am Ende der Verarbeitung (Zeile 7) muss natürlich die Merk-Datei geschrieben werden. Beim zweiten Lauf des Skriptes wird also nichts mehr verarbeitet.

Möchte ich einem bestimmten Nutzer/Computer ein Update bereitstellen, so brauche ich nur die entsprechende Merk-Datei löschen und diesen neu anmelden lassen.