Password Expiration Reminder - Passwortablauf Erinnerung per E-Mail

- 07.10.2012
von Thomas Windscheif / Microlinc



Folgende Situation:
Einige Außendienstmitarbeiter die z.B. Ihre Mobiltelefone über Active-Sync des Exchange-Servers synchronisieren laufen häufig Gefahr den spätest möglichen Passwortänderungszeitpunkt zu verpassen. Da Sie nur selten und relativ hastig das OWA verwenden und Ihre mobilen PCs kaum bis gar nicht an der Domäne angeschlossen werden, sehen Sie die Information das das Passwort bald abläuft nicht.

Der Password Expiration Reminder wurde in VBS geschrieben und kann auf jedem an der Domäne angebundenen Client (natürlich auch auf dem DC) ausgeführt werden.

[ Zum Download ]

Folgendes kann das Skript:

  • Es sind keine weiteren Installationen von irgendwelchen Add-ins nötig (wie bei z.B. Powershell-Skripten), es läuft mit Boardmitteln

  • Es läuft sehr zuverlässig (über 2 Jahre bei verschiedenen Kunden und bei eigenen Servern im Einsatz)

  • Es holt sich automatisch den Wert von "Maximales Kennwortalter" aus dem AD (maxPwdAge)

  • alternativ kann das Intervall auch manuell angegeben werden.
  • je nach Skripttyp:
    1. gruppenbasiert
      Sucht es in einer definierbaren OU nach einer angegeben Gruppe

    2. Die Mitglieder der Gruppe werden einzeln abgefragt und es wird geprüft wie viele Tage das aktuelle Passwort bereits verwendet wird (pwdLastSet)
    3. OU-basiert
      Sucht es in einer definierbaren OU nach allen Benutzerobjekten und fragt diese einzeln ab wie lange das Passwort bereits verwendet wird

  • Deaktivierte Benutzer oder Benutzer bei denen "Kennwort läuft nie ab" gesetzt ist, werden übersprungen

  • Je nach dem wie viele Tage das Passwort noch gültig ist, passiert Folgendes:
    • am Tag 9 vor Ablauf des Passworts wird eine E-Mail mit der Bitte um Änderung an den User verschickt

    • ab dem 6. Tag vor Ablauf wird ebenfalls eine E-Mail verschickt (bei täglicher Ausführung des Skripts, erhält der User die Meldung täglich)

    • ab dem 3. Tag vor Ablauf wird eine E-Mail mit Dringlichkeitsmarkierung an den User versandt bis das Passwort abläuft.



Konfigurationsmöglichkeiten:
- Domaincontroller kann angegeben werden
- Organisationseinheit kann angegeben werden
- Passwortänderungsintervall kann angegeben werden
- Gruppe kann angegeben werden
- Man kann den SMTP-Server und den Port im Skriptkopf festlegen
- Man kann den Absendernamen und die Absenderemail-Adresse festlegen
- Durch die Gruppenzugehörigkeit kann man den Versand der Meldungen auf bestimmte User einschränken (weniger Belastung für den Domaincontroller, wenn z.B. nur Außendienstmitarbeiter betroffen sind; betrifft das gruppenbasierte Skript)

Anwendung:
Das Skript wurde erfolgreich auf einem Small Business Server 2011 Standard (und bei Verwendung der manuellen Intervallangabe) auch erfolgreich unter Windows Server 2012 getestet. Und läuft jetzt bei eigenen und bei Kundenservern über 2 Jahre problemlos.
Für das maxPwdAge-Modul muss der DC (Domänenfunktionsebene) auf 2003-Modus gestellt sein (Default bei SBS 2011-Server). Sonst einfach den Wert innerhalb der Klammer der Variable PasswordExpiry (Zeile: 64 [Skriptversion 1.1]) auf einen eigenen numerischen Wert festlegen.

Das Skript sollte als Aufgabe täglich gestartet werden.
Der Programmaufruf sollte wie folgt lauten:
cscript /nologo passwordchange_reminder_mail.vbs

Für den Task muss der Benutzer lediglich der Gruppe "Domain User" (keine Domain Admin-Rechte nötig) angehören und das Recht "Anmelden als Stapelverarbeitungsauftrag" erhalten. Der Haken bei "Mit höchsten Privilegien ausführen" muss gesetzt sein.

Bei dringenden Fragen bitte eine Anfrage über das Kontakt-Formular.
Über Feedback würde ich mich freuen.


Ein Dankeschön an folgende Quellen:
John Savill
http://www.windowsitpro.com/article/passwords/how-can-i-use-a-script-to-determine-password-expiration-dates-for-users-in-a-domain-or-an-organizational-unit-ou-and-send-an-email-message-to-accounts-whose-passwords-expire-soon->

Getting MaxPasswordAge-Value from AD
Microsoft: KB323750
http://support.microsoft.com/kb/323750/de

Getting Groupmember-list
Tomer Nagar
http://community.spiceworks.com/scripts/show/379-map-network-drive-if-user-memberof-group-vbscript

Configure SMTP-Settings for VBS
Paul R. Sadowski
http://community.spiceworks.com/scripts/show/379-map-network-drive-if-user-memberof-group-vbscript

marking message with urgent-flag
Steven Cheng
http://www.justskins.com/forums/sending-a-cdo-message-55054.html

Benachrichtigung bei Ablauf des Benutzerpasswords per E-Mail (Active Directory)

Download
gruppenbasiertOU-basiert
->passwordchange_reminder_mail_v1.1.zip

passwordchange_reminder_mail.zip
-> passwordchange_reminder_mail_OU_v1.1.zip
MICROL!NC - URL zum Artikel: http://microlinc.homeip.net/index.php?lev1=7&lev2=5&lev3=&id=111 - Ausdruck vom 29.03.2024