Beim Erzeugen von Benutzerkonten in Active Directory mit einem Skript passiert es manchmal, dass dort die Option “Kennwort nicht erforderlich” aktiviert ist. Das passiert meist versehentlich, wenn ein Skript die nötigen Konten-Attribute im Feld userAccountControl nicht richtig setzt. Dort muss das sechsthöchste Bit gesetzt sein, das den Dezimalwert 32 repräsentiert.
Mit zwei Skripten lassen sich die betreffenden Konten aktivieren und das Flag zurücksetzen.
Das erste Skript “GetADAccountsPasswdNotReqd.bat” nutzt das Kommandozeilentool „AdFind.exe“ von joeware.net, um die Konten zu finden. Das Tool findet sich unter folgendem URL: http://joeware.net/freetools/tools/adfind/
Diese Batchdatei ist ungefährlich, denn sie liest das AD nur aus. Sie erzeugt eine Textdatei, die anhand des Zeitstempels im Dateinamen unterscheidbar ist. Diese Datei sollte man in einem Editor öffnen und manuell bearbeiten – wahrscheinlich sind ein paar Objekte darin, die nicht korrigiert werden sollen (etwa der Gast-Account).
Die so bearbeitete Textdatei verarbeitet dann mit das VBS-Skript “SetADAccountsPasswdReqd.vbs”. Auch dort ist zuerst den Code anzupassen: In Zeile 21 gibt man den Pfad und Namen der Textdatei mit den Objekten an (die das erste Skript erzeugt hat). Zeile 22 nimmt den Pfad für eine Protokolldatei auf, die über die Aktivitäten Buch führt.
Das „Set“-VBS-Skript ruft man in einem CMD-Fenster mit AD-Schreibrechten auf mit dem Kommando „cscript SetADAccountsPasswdReqd.vbs“. Es zeigt zunächst noch einmal die Textdatei mit den Objekten an und fragt, ob diese richtig ist. Wenn ja, geht es los, und das Skript entfernt bei jedem enthaltenen Objekt das betreffende Flag. Alter und neuer Wert werden auf der Kommandozeile und in der Logdatei ausgegeben.
Man sollte das Verfahren zunächst in einer Testumgebung prüfen. Die Test-Zielobjekte kann man mit ADSI Edit vorbereiten, indem man dort den Wert für „userAccountControl“ auf z.B. 544 oder auf 66082 setzt. Nach Ausführung des Skripts sollte der Wert überall korrigiert sein (in den Beispielen: 512 und 66050).
Vor der Ausführung im Echtsystem ist außerdem eine vollständige AD-Datensicherung erforderlich.
Skript: GetADAccountsPasswordNotReqd (2,1 KiB, 1.036-mal heruntergeladen, letzte Änderung am 18. Oktober 2015)
http://faq-o-matic.net/?p=6932