Magic Quadrant™ für Privileged Access Management 2025: Netwrix zum vierten Jahr in Folge anerkannt. Laden Sie den Bericht herunter.

Plattform
Ressourcen­zentrumAnleitung
Wie man Benutzer daran erinnert, ihre Passwörter zu ändern, bevor sie ablaufen

Wie man Benutzer daran erinnert, ihre Passwörter zu ändern, bevor sie ablaufen

Netwrix Auditor for Active Directory

  1. Starten Sie Netwrix Password Expiration Notifier → Wählen Sie Ihre Domäne → Klicken Sie auf „Bearbeiten“ → Aktivieren Sie „Passwortablauf-Benachrichtigungen“ → Klicken Sie auf „Speichern“.
Image

Netwrix Auditor wird automatisch eine E-Mail-Benachrichtigung über das bevorstehende Ablaufen des Active Directory-Passworts an jeden Kontoinhaber senden, dessen Passwort kurz vor dem Ablauf steht.

Image

Native Auditing

  • Kopieren, modifizieren und speichern Sie das folgende Skript mit PowerShell ISE:
      #requires -module ActiveDirectory

<#
.SYNOPSIS
Script will scan Active Directory for accounts with expiring passwords

.DESCRIPTION
Script will scan Active Directory for accounts with expiring passwords and will send customized email to users

.PARAMETER Domain
.PARAMETER specifies which domain search will be performed against

.PARAMETER Cred
The PS credential to use to query AD (if not using the logged in credential)

.PARAMETER SearchBase
The OU path to search for user accounts in

.PARAMETER PasswordExpirationThreshold
Specifies accounts where this value exceeded will be emailed

.PARAMETER Subject
Which subject shall be put into email

.PARAMETER From
Which address shall be used as a FROM field in Email

.PARAMETER EmailServerAddress
SMTP relay address

.PARAMETER FailoverEmail
Emails address where all errors will be sent to

.PARAMETER LogFilePath
The path to where the informational log file is generated by this script.
#>

[CmdletBinding()]
Param(
[string]$Domain = $env:USERDNSDOMAIN,
[PSCredential]$cred,
[string]$SearchBase,
[string]$UserSearchString = '*',
[int]$PasswordExpirationThreshold = 14,
[string]$Subject = "Password Expiration Notification",
[string]$From = "J.Carter@enterprise.com",
[string]$EmailServerAddress = "mail.enterprise.com",
[string]$FailoverEmail = "J.Carter@enterprise.com",
[string]$LogFilePath = 'D:\Temp\ServiceAccountExpirations.log'
)

begin {
function Write-Log($Message) {
$MyDateTime = Get-Date -Format 'MM-dd-yyyy H:mm:ss'
Add-Content -Path $LogFilePath -Value "$MyDateTime - $Message"
}
try {
$MaxPasswordAge = (Get-ADDefaultDomainPasswordPolicy -Server $Domain).MaxPasswordAge.Days
Write-Log -Message "The max password age for the $Domain domain is $MaxPasswordAge"
if ($PasswordExpirationThreshold -gt $MaxPasswordAge) {
throw "The value '$PasswordExpirationThreshold' specified as the password expiration threshold is greater than the max password age for the domain" }

[string]$EmailTemplate = @'
<html> <body> <font SIZE="6" COLOR="#ff0000"> <p ALIGN="CENTER" style='font-size:20.0pt;font-family:"Times New Roman";color:#CC0000;mso-bidi-font-weight: bold'>Password Expiration Notice</p> </font><font style='font-size:14.0pt;font-family:"Times New Roman";color:#1C1C1C;mso-bidi-font-weight:bold'> <p>Dear $FirstName $LastName,</p> <p>Your password in <U> $domain </U> domain will expire in $DaysBeforeExpiration days. Please change it as soon as possible to make sure your account does not get locked out. To change your password press CTRL+ALT+DEL and select "Change Password". </p> <p>Please review the guidelines below as they are necessary for successfully updating your password.</p> <p>PASSWORD MUST:</p> <dir> <p>Be at least 8 total characters</p> <p>Contain at least one uppercase character</p> <p>Contain at least one numeral</p> <p>Not be the same or similar to the last 5 used passwords</p> <p>Be used for at least 24 hours before changing again</p> </dir> <p></p> <p>If you enter an incorrect password 5 or more times, your account will be locked and you will need to contact the Help Desk for assistance. </p> </font><font SIZE="4" style='font-size:13.0pt;font-family:"Times New Roman";color:#CC0000'> <p ALIGN="CENTER">*** Please do not respond to this e-mail. <BR>Direct any questions or concerns regarding this issue to the IT Help Desk. <BR> For information on how to contact the Help Desk, please visit </font> <a HREF="http://helpdesk.enterprise.com"> <font SIZE="4" COLOR="#0000ff"><u> http://helpdesk.enterprise.com/ </u></font> </dir> </font></b> </body> </html>
'@
} catch {
Write-Log -Message $_.Exception.Message
exit
}
}
process {
try {
$GetAdUserParams = @{
'Filter' = { (Enabled -eq $True) -and (PasswordNeverExpires -eq $false) -and (samAccountName -like $UserSearchString)}
'Properties' = 'PasswordLastSet', 'PasswordExpired', 'PasswordNeverExpires','EmailAddress'
}
if ($SearchBase) {
$GetAdUserParams.SearchBase = $SearchBase
}
if ($Cred) {
$GetAdUserParams.Credential = $cred
}
$Today = Get-Date
$Users = Get-ADUser @GetAdUserParams | Where-Object { $_.PasswordLastSet -and !$_.PasswordExpired }
Write-Log -Message "Found '$($Users.Count)' total expirable AD user accounts"
$ExpiringUsers = [System.Collections.ArrayList]@()
foreach ($User in $Users) {
$UserPwdExpireDate = $User.PasswordLastSet.AddDays($MaxPasswordAge)
$DaysUntilExpire = ($UserPwdExpireDate - $Today).Days
$FirstName = $User.GivenName
$LastName = $User.Surname
if ($DaysUntilExpire -le $PasswordExpirationThreshold) {
Write-Log -Message "The user $($User.samAccountName)'s password will expire in $DaysUntilExpire days"
$EmailBody = $EmailTemplate.Replace('$FirstName', $FirstName).Replace('$LastName', $LastName).Replace('$DaysBeforeExpiration', $DaysUntilExpire).Replace('$domain', $Domain)
Send-MailMessage -To $User.EmailAddress -From $From -Subject $Subject -BodyAsHtml $EmailBody -SmtpServer $EmailServerAddress -Priority High -UseSsl
$ExpiringUsers.Add($User) | Out-Null
}
}
Write-Log -Message "'$($ExpiringUsers.Count)' accounts found with expiring passwords within $PasswordExpirationThreshold days"
} catch {
Write-Log -Message "$($_.Exception.Message) - $($_.InvocationInfo.ScriptLineNumber)"
}
}
      
  • Automatisieren Sie die Skriptausführung mit dem Task Scheduler.

Erfahren Sie mehr über Netwrix Auditor for Active Directory


Erinnern Sie die Benutzer daran, ihre Passwörter zu ändern, um die Produktivität der Benutzer zu maximieren und den Arbeitsaufwand des Helpdesks zu reduzieren

Viele Best Practices erfordern eine regelmäßige Passwortänderung, um die Sicherheit von Unternehmensdaten und kritischen Systemen gegen Bedrohungen von innen und außen zu verstärken. Wenn Benutzer jedoch Aufforderungen zur Änderung ihres Passworts ignorieren oder gar nicht erst erhalten – zum Beispiel, wenn sie aus der Ferne arbeiten – müssen sie auf die Hilfe von Helpdesk-Administratoren warten, um ihre abgelaufenen Passwörter zurückzusetzen, was die Produktivität insgesamt beeinträchtigt. Um den Arbeitsaufwand des Helpdesks zu minimieren und gleichzeitig eine starke Passwortsicherheitsrichtlinie aufrechtzuerhalten, benötigen IT-Experten eine effizientere Methode, um ihre Benutzer über das Ablaufen von Passwörtern zu informieren.

Netwrix Auditor for Active Directory ermöglicht IT-Profis, vollständige Einblicke zu erhalten, was in Active Directory und Group Policy passiert. Es kann auch Benachrichtigungs-E-Mails senden, die Benutzer daran erinnern, ihre Passwörter zu ändern, bevor diese ablaufen; IT-Administratoren können sogar die Warnmeldungen so anpassen, dass die genaue Anzahl von Tagen angegeben wird, die bis zum Ablauf des Passworts verbleiben. Zusätzlich erhalten IT-Admins Zusammenfassungsberichte, die zeigen, welche Benutzerkonten-Passwörter kurz davor sind, abzulaufen. Diese Warnmeldungen und Berichte ermöglichen es IT-Profis, die Sicherheit zu erhöhen, ohne die Produktivität von Benutzern oder Helpdesks zu beeinträchtigen.

Teilen auf