大家早上好,
我遇到了 Bradley Wyatt 创建的脚本的一个问题,它应该通知用户他们的密码即将到期,但它跳过了一些用户,如以下示例所示:
>C:\Users\> net user USER /domain
>Password expires 7/9/2021 8:20:25 AM
但在脚本中:
<块引用> 07/19/2021 08:00:02 - 信息:用户名密码未过期 19天这是脚本的魅力:
$users = Get-Aduser -properties Name, PasswordNeverExpires, PasswordExpired, PasswordLastSet, EmailAddress -filter { (Enabled -eq 'True') -and (PasswordNeverExpires -eq 'False') } | Where-Object { $_.PasswordExpired -eq $False }
$maxPasswordAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge
#Get Password last set date
$passwordSetDate = (Get-ADUser $user -properties * | ForEach-Object { $_.PasswordLastSet })
#Check for Fine Grained Passwords
$PasswordPol = (Get-ADUserResultantPasswordPolicy $user)
if (($PasswordPol) -ne $null) {
$maxPasswordAge = ($PasswordPol).MaxPasswordAge
}
$expireson = $passwordsetdate + $maxPasswordAge
$today = (get-date)
#Gets the count on how many days until the password expires and stores it in the $daystoexpire var
$daystoexpire = (New-TimeSpan -Start $today -End $Expireson).Days
If (($daystoexpire -ge "0") -and ($daystoexpire -lt $expireindays)) {
"$Date - INFO: Sending expiry notice email to $Name" | Out-File ($DirPath + "\" + "Log.txt") -Append
Write-Host "Sending Password expiry email to $name" -ForegroundColor Yellow
$SmtpClient = new-object system.net.mail.smtpClient
$MailMessage = New-Object system.net.mail.mailmessage
你们能明白我遗漏了什么吗?
答案 0 :(得分:1)
对不起,麻烦团队,但我的一位手快的同事在没有报告我的情况下更改了 DC 中的最大密码年龄。谢谢
<块引用>强制执行密码历史记录 记住 5 个密码 密码最长使用期限 60 天 密码最短使用期限 5 天 最短密码长度 14 个字符 密码必须满足复杂性 要求 启用 使用可逆加密存储密码 已禁用