帮写一个程序 提醒windows AD域账号 密码即将过期
时间: 2024-12-23 17:21:45 浏览: 16
为了提醒Windows Active Directory域账户密码即将过期,你可以编写一个脚本,通常使用PowerShell,因为它是管理Windows环境的强大工具。这里是一个简单的示例,这个脚本会在指定日期前90天检查用户密码到期日,并发送电子邮件提醒:
```powershell
# 引入必要的模块
Import-Module ActiveDirectory
# 设置发件人、收件人地址、主题等信息
$senderEmail = "your-email@example.com"
$receiverEmail = "user-email@example.com"
$subject = "AD Account Password Expiration Reminder"
# 定义函数,检查密码到期日
function Check-PasswordExpiration($username) {
$userPrincipal = Get-ADUser -Identity $username
$passwordExpiry = [datetime]::FromFileTime([timespan]::FromDays($userPrincipal.PasswordLastSet)/10000000)
return $passwordExpiry
}
# 获取当前系统管理员
$usernameToCheck = (Get-WmiObject Win32_ComputerSystem).Domain
# 检查密码剩余天数
$passwordExpiresInDays = (Check-PasswordExpiration -username $usernameToCheck).Subtract((Get-Date)).Days
# 避免提前太多天提醒,这里设置为90天
if ($passwordExpiresInDays -le 90) {
$daysLeft = $passwordExpiresInDays
# 发送邮件通知
$body = "Dear user,$usernameToCheck 的密码将在 $daysLeft 天后过期,请尽快修改。"
Send-MailMessage -From $senderEmail -To $receiverEmail -Subject $subject -Body $body
}
#
阅读全文