Vor längerer Zeit wollte ich in einem Projekt „mal eben fix“ einige Gruppennamen in einer Active Directory auf einen neueren Stand bringen. Dieses wollte ich ganz gern in einer sowieso stattfindenen Wochenend-Aktion durchführen.
Ich änderte einen Gruppennamen in der Active Directory sowie im KiXScript und startete das System neu. Allerdings erhielt ich nicht den gewünschten Erfolg. Der neue Gruppenname wurde ignoriert, als ob dieser nicht im Skript eingebaut wäre. Ich testete noch etwas weiter; für das Wochenende musste es halt mit 3 neuen Gruppen realisiert werden.
Nun steht wieder ein Projekt an, bei dem viele Anpassungen durchgeführt werden müssen und somit wollte ich dem noch einmal auf den Grund gehen. Recht schnell fand ich den Grund des entsprechenden Verhaltens bei der Namensänderung:
Group-membership information cache
Im Standard-Aufruf werden die Gruppen des Benutzers unter dem Registry-Pfad des angemeldeten Benutzers samt SID eingelagert. Dieser Cache wird für 30 Tage aufrecht erhalten. Dieses Verhalten kann allerdings auser Kraft gesetzt werden in dem man beim Aufruf des Skripts einen Optionsschalter mitliefert:
kix32.exe script.kix /f
Mit der dem Schalter „/f“ wird die Aktualisierung der Gruppen forciert und die 30-tägige Cachezeit nicht genutzt.