Password_Change_Notification
2015-08-11 16:52
405 查看
##################################################################################################################
# Please Configure the following variables....
$smtpServer="mail.server.com"
$expireindays = 21
$from = "Company Administrator <support@mycompany.com>"
###################################################################################################################
#Get Users From AD who are enabled
Import-Module ActiveDirectory
$users = get-aduser -filter * -properties * |where {$_.Enabled -eq "True"} | where { $_.PasswordNeverExpires -eq $false } | where { $_.passwordexpired -eq $false }
foreach ($user in $users)
{
$Name = (Get-ADUser $user | foreach { $_.Name})
$emailaddress = $user.emailaddress
$passwordSetDate = (get-aduser $user -properties * | foreach { $_.PasswordLastSet })
$PasswordPol = (Get-AduserResultantPasswordPolicy $user)
# Check for Fine Grained Password
if (($PasswordPol) -ne $null)
{
$maxPasswordAge = ($PasswordPol).MaxPasswordAge
}
else
{
$maxPasswordAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge
}
$expireson = $passwordsetdate + $maxPasswordAge
$today = (get-date)
$daystoexpire = (New-TimeSpan -Start $today -End $Expireson).Days
$subject="Your password will expire in $daystoExpire days"
$body ="
Dear $name,
<p> Your Password will expire in $daystoexpire days.<br>
To change your password on a PC press CTRL ALT Delete and chose Change Password or change from website password.uniview.com <br>
<p>Thanks, <br>
</P>"
if ($daystoexpire -lt $expireindays)
{
Send-Mailmessage -smtpServer $smtpServer -from $from -to $emailaddress -subject $subject -body $body -bodyasHTML -priority High
}
}
# Please Configure the following variables....
$smtpServer="mail.server.com"
$expireindays = 21
$from = "Company Administrator <support@mycompany.com>"
###################################################################################################################
#Get Users From AD who are enabled
Import-Module ActiveDirectory
$users = get-aduser -filter * -properties * |where {$_.Enabled -eq "True"} | where { $_.PasswordNeverExpires -eq $false } | where { $_.passwordexpired -eq $false }
foreach ($user in $users)
{
$Name = (Get-ADUser $user | foreach { $_.Name})
$emailaddress = $user.emailaddress
$passwordSetDate = (get-aduser $user -properties * | foreach { $_.PasswordLastSet })
$PasswordPol = (Get-AduserResultantPasswordPolicy $user)
# Check for Fine Grained Password
if (($PasswordPol) -ne $null)
{
$maxPasswordAge = ($PasswordPol).MaxPasswordAge
}
else
{
$maxPasswordAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge
}
$expireson = $passwordsetdate + $maxPasswordAge
$today = (get-date)
$daystoexpire = (New-TimeSpan -Start $today -End $Expireson).Days
$subject="Your password will expire in $daystoExpire days"
$body ="
Dear $name,
<p> Your Password will expire in $daystoexpire days.<br>
To change your password on a PC press CTRL ALT Delete and chose Change Password or change from website password.uniview.com <br>
<p>Thanks, <br>
</P>"
if ($daystoexpire -lt $expireindays)
{
Send-Mailmessage -smtpServer $smtpServer -from $from -to $emailaddress -subject $subject -body $body -bodyasHTML -priority High
}
}
相关文章推荐
- jQuery plugin items filter
- 全国哀悼日网站页面变成灰色的filter方法
- 用css filter做鼠标滑过图片效果
- ASP 使用Filter函数来检索数组的实现代码
- ASP.NET MVC:Filter和Action的执行介绍
- JSP Filter的应用方法
- PHP中实现Bloom Filter算法
- Jquery find与filter函数区别 说明
- PHP内置过滤器FILTER使用实例
- PHP中filter函数校验数据的方法详解
- javascipt:filter过滤介绍及使用
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- 跟老齐学Python之大话题小函数(2)
- Python中的特殊语法:filter、map、reduce、lambda介绍
- Python过滤函数filter()使用自定义函数过滤序列实例
- Python中的map、reduce和filter浅析
- Android解析Intent Filter的方法
- Python内置函数之filter map reduce介绍
- Filter的好处以及用途
- 使用PHP自带的filter函数进行数据校验