Viele Organisationen schreiben per Richtlinie vor, dass Benutzer ihre Passwörter regelmäßig ändern müssen. Wenn das Passwort vor dem Ablaufdatum nicht geändert wird, müssen Benutzer ein neues Passwort angeben, wenn sie sich nach dem Ablaufen zum ersten Mal anmelden.
Für Benutzer im Unternehmensnetzwerk ist dies nur ein wenig lästig, aber Remote-Benutzer werden dadurch ausgesperrt. Der Grund dafür ist, dass sensible Aufgaben wie die Passwortzurücksetzung ausschließlich im Netzwerk durchgeführt werden dürfen, auf dem Active Directory (AD) gehostet wird. Auch eine Anfrage zur Passwortzurücksetzung bei der IT schafft keine Abhilfe, da sich das Gerät physisch im Intranet des Unternehmens befinden muss, um erkannt zu werden.
Admins können PowerShell-Skripte verwenden, um die Ablaufdaten der Passwörter von AD-Benutzern abzurufen und sie ein paar Tage vorher per E-Mail daran zu erinnern, ihre Passwörter zu ändern. Da die nativen AD-Tools mit grafischer Oberfläche diese Funktion nicht anbieten, müssen PowerShell-Skripte geschrieben werden, um die E-Mails zu den ablaufenden Passwörtern zu versenden.
ManageEngine ADSelfService Plus ist eine Lösung für die Identitätssicherheit, die auch E-Mail-Benachrichtigungen an AD-Benutzer aufgrund ablaufender Passwörter ermöglicht.
Das hier aufgeführte PowerShell-Skript zur Benachrichtigung bei ablaufenden Passwörtern versendet Benachrichtigungen an AD-Benutzer, wenn ihre Passwörter ablaufen.
Unten finden Sie einen Vergleich zwischen dem Einsatz von PowerShell-Skripten für E-Mail-Benachrichtigungen bei ablaufenden Passwörtern, und ADSelfService Plus.
#Import AD Module Import-Module ActiveDirectory #Create warning dates for future password expiration $SevenDayWarnDate = (get-date).adddays(7).ToLongDateString() #Email Variables $MailSender = " Password AutoBot <emailaddress@somecompany.com>" $Subject = 'FYI - Your account password will expire soon' $EmailStub1 = 'I am a bot and performed this action automatically. I am here to inform you that the password for' $EmailStub2 = 'will expire in' $EmailStub3 = 'days on' $EmailStub4 = '. Please contact the help desk if you need assistance changing your password. DO NOT REPLY TO THIS EMAIL.' $SMTPServer = 'smtp.somecompany.com' #Find accounts that are enabled and have expiring passwords $users = Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False -and PasswordLastSet -gt 0 } ` -Properties "Name", "EmailAddress", "msDS-UserPasswordExpiryTimeComputed" | Select-Object -Property "Name", "EmailAddress", ` @{Name = "PasswordExpiry"; Expression = {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed").tolongdatestring() }} #check password expiration date and send email on match foreach ($user in $users) { if ($user.PasswordExpiry -eq $SevenDayWarnDate) { $days = 7 $EmailBody = $EmailStub1, $user.name, $EmailStub2, $days, $EmailStub3, $SevenDayWarnDate, $EmailStub4 -join ' ' Send-MailMessage -To $user.EmailAddress -From $MailSender -SmtpServer $SMTPServer -Subject $Subject -Body $EmailBody } else {} }
Mit ADSelfService Plus nimmt die Konfiguration von Benachrichtigungen Ihrer Domänenbenutzer über ablaufende Passwörter nur wenige Klicks in Anspruch. PowerShell-Skripte müssen hingegen zunächst geschrieben, auf Fehler geprüft und dann ausgeführt werden.
Mit ADSelfService Plus können Sie mit nur einem Klick zwischen E-Mail, SMS und Push-Benachrichtigung wählen. Im oben beschriebenen Beispiel wird PowerShell verwendet, um Benutzer bei ablaufenden Passwörtern per E-Mail zu benachrichtigen. Man kann zwar auch PowerShell dazu verwenden, um SMS und Push-Benachrichtigungen zu versenden, aber dies erfordert ein extrem kompliziertes Skript.
In ADSelfService Plus können Sie sich dazu entscheiden, deaktivierte Benutzer und Smartcard-Benutzer von den Benachrichtigungen auszuschließen. Außerdem können Sie Benachrichtigungen zum Zustellungsstatus von E-Mails an die Manager der Benutzer sowie allgemein an Admins der Organisation versenden.
Nachdem Sie eine Benachrichtigung zum Passwortablauf in ADSelfService Plus konfiguriert haben, können Sie diese ganz einfach bearbeiten. Wählen Sie einfach die zu bearbeitende Benachrichtigung aus und ändern Sie die gewünschte Werte. Mit PowerShell können sich schnell Tippfehler und anderes menschliches Versagen einschleichen, wenn Änderungen am Benachrichtigungsskript vorgenommen werden.
Entwerfen Sie E-Mails in HTML, um die Aufmerksamkeit von Benutzern zu erregen, oder versenden Sie verschiedene Mitteilungen an verschiedenen Tagen vor dem Passwortablauf. PowerShell gestattet Ihnen zwar auch, E-Mails mit HTML-Formatierung zu versenden, aber der Prozess kann recht langwierig sein.