PS查询即将过期的账号并邮件通知USER

############################################
#Content:检测AD密码过期时间并邮件通知
##############################################
Import-Module Activedirectory
$alladuser=get-aduser -searchbase "ou=sz,DC=it581,DC=com" -filter *  | %{$_.Samaccountname}
$userlist = @()
#################################################
#检测AD密码过期时间并邮件通知相应账户
##################################################
foreach ($user in $alladuser){
#密码最后一次更改时间
$pwdlastset=Get-ADUser $user -Properties * | %{$_.passwordlastset}
#密码的过期时间,括弧中的数字根据你的策略设定时间来定
$pwdlastday=($pwdlastset).adddays(3)
#当前时间
$now=get-date
#判断账户是否设置了永不过期
$neverexpire=get-aduser $user -Properties * |%{$_.PasswordNeverExpires}
#距离密码过期的时间
$expire_days=($pwdlastday - $now).Days
#判断过期时间天小于15天的并且没有设置密码永不过期的账户
if($expire_days -lt 15 -and $neverexpire -like "false" ){
    $chineseusername= Get-ADUser $user  -Properties * | %{$_.Displayname}
    #邮件正文
    $Emailbody=
"尊敬的 $chineseusername 用户 :
    您的域账户和邮箱密码即将在 $expire_days 天后过期, $pwdlastday 之后您将无法登陆计算机和收发邮件,请您尽快更改。
    重置密码过程请遵循以下原则:
    ○密码长度最少 8 位;
    ○密码可使用最长时间 60天,过期需要更改密码;
    ○密码最短使用 1天( 1 天之内不能再次修改密码);
    ○强制密码历史 3个(不能使用之前最近使用的 3 个密码);
    ○密码符合复杂性需求(大写字母、小写字母、数字和符号四种中必须有三种、且密码口令中不得包括全部或部分用户名)
"
Send-MailMessage -from "[email protected]" -to "[email protected]" -subject "您的账户密码即将过期" -body $Emailbody -smtpserver

mail.it581.com -Encoding ([System.Text.Encoding]::UTF8)
#############################################
#查找账户的密码过期时间并发送至管理员账户
#############################################
$username=Get-ADUser $user  -Properties *
$userobject=New-object psobject
$userobject | Add-Member -membertype noteproperty -Name 用户名            -value $username.displayname
$userobject | Add-Member -membertype noteproperty -Name 邮箱              -Value $username.mail
$userobject | Add-Member -membertype noteproperty -Name 最后一次密码设置  -Value $username.Passwordlastset
$userobject | Add-Member -membertype noteproperty -Name 密码过期时间      -Value $pwdlastday
$userobject | Add-Member -membertype noteproperty -Name 距离密码过期天数  -Value $expire_days
$userlist+=$userobject
}
}
$EmailbodyHTML=$userlist|
sort-object 距离密码过期天数 |
ConvertTo-Html |
Out-String
Send-Mailmessage -from  "[email protected]" –to “[email protected]” -Bodyashtml $EmailbodyHTML -Subject "管理员通知" -

smtpserver mail.it581.com -Encoding ([System.Text.Encoding]::UTF8)

最后执行脚本的结果如下图所示,为了方便执行此脚本,我们可以把它设定为计划任务。

时间: 2024-10-07 07:37:00

PS查询即将过期的账号并邮件通知USER的相关文章

Powershell管理系列(四十)PowerShell查询和解锁AD账号(改进后,只发一次邮件)

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 需求:根据要求对集团AD域及下属3个子域的所有AD账号进行统计,查询所有锁定的账号,解锁,并每天早上发送邮件到指向邮箱.(之前三十九的基础上略作调整,只发一封邮件即可) Remove-Item C:\get_locked_user\ -Recurse -Force if(!(test-path C:\get_locked_user

win10专业工作站版本提示windows许可即将过期的解决办法

win10专业工作站版本作为win10的最强悍版本,在很多方面拥有优秀的体验,但是大家最头疼的是激活问题.您的电脑是否也经常提示"系统即将过期."如下图:其实非常简单,今天小编就手把手教你解决这个问题.一.在此电脑上右键鼠标,找到"属性",拉到最下面,更改产品密钥.然后输入以下密钥.密钥亲测可用,当然,如果密钥失效或者被用完,可以联系小编vx: jhtd002 获取最新可用密钥.win10专业工作站版本密钥:MBQRK-FNDW8-B7GF4-V9PCW-6MV77

windows10怎样更换即将过期的产品密钥?

最近很多同学都收到了"您的windows许可证即将过期"的提示,这个页面经常在你专心办公或者玩游戏的时候弹出,非常烦人.今天小编就告诉你出现这种情况的原因并且告诉你怎样彻底解决这个问 题.首先出现这种情况的原因总结起来大概有以下几种.1.您的windows10系统安装好之后并没有激活,在一个月试用期到了之后就会弹出这个提示.2.您在激活windows10的时候采用了官方不认可的办法,例如激活工具和kms 等方式.那么怎样才能更改密钥呢,此电脑--右键鼠标--属性--拉到最下面,即可更改

win10专业版提示“许可证即将过期”怎么办?

win10专业版是目前windows10使用最广泛的一个版本,其稳定性和流畅性深受广大用户的喜爱,但是很多同学最近总是遇到"windows许可证即将过期"的提示,非常烦人,如下图所示:这种情况一般是由于安装后未激活或者采用了临时激活的方法,今天小编就教你解决这个问题并永久激活windows10专业版.首先您需要找到可用的windows10专业版激活密钥.下面小编为您分享几组可用的windows10专业版激活密钥,亲测可用,当然,每个密钥都具有时效性和激活次数限制,如果密钥失效或者被用完

Powershell管理系列(三十九)PowerShell查询和解锁AD账号

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 需求:根据要求对集团AD域及下属3个子域的所有AD账号进行统计,查询所有锁定的账号,解锁,并每天早上发送邮件到指向邮箱. Import-Module activedirectory $yuntcloud_Lockeduser = Search-ADAccount -LockedOut -SearchBase "dc=yuntclo

【Oracle】ora-28002提示用户密码即将过期的解决办法

-- 1.首先查看用户的配置文件中的用户密码生命周期,一般情况下默认是180天.登录时系统提示ora-28002该用户即将过期 -- 如果我们不希望修改密码,可以修改一下oracle的配置文件 SELECT * FROM dba_profiles WHERE resource_name='PASSWORD_LIFE_TIME'; -- 2.修改default的profile密码策略为无限制(UNLIMITED) alter profile default limit password_life_

win10频繁提示证书即将过期怎么办

最近几天每次开机都会提示许可证即将过期 "Windows+R"打开"运行"窗口,输入"slmgr.vbs -xpr"并点击"确定",弹出的窗口确实显示过期时间在本月1.29过期 百度各种激活方法后,发现最好用的是一个激活小工具---"MicrKMS激活工具-神龙版",安利给大家,下载下来是这个样子的: 右键-以管理员身份运行: 激活win10就选择win10,也有其他版本可供选择 激活成功会弹出窗口提示,现

一、Windows许可证即将过期怎么办

当Win10系统提示“windows许可证即将过期”窗口时,直接点击“转到‘设置’”按钮,此时将显示“Windows激活”界面,从此界面中可以获取当前Win10版本信息. 由于Win10激活即将过期,因此我们可以首先查看一下Win10激活具体过期时间:直接按“Windows+R”打开“运行”窗口,输入“slmgr.vbs -xpr”并点击“确定”按钮. 此时将弹出如图所示的“Windows Script Host”窗口,从中就可以查看Windows激活过期时间. 第一种方式: 我们需要根据自己电

Windows许可证 即将过期

最近打开电脑,系统总是自动弹出Windows许可证即将过期的弹窗,现在总结方法如下. 命令都是在运行窗口输入的打开方式:win+R组合键或者右键点击win10开始菜单,点击“运行”查看系统版本:winver 查看激活有效时间:slmgr.vbs -xpr 方法一: 第一步:右击桌面左下角的“开始”按钮,从其右键菜单中选择“命令提示符(管理员)”项进入. 第二步:依次输入如下命令 slmgr /ipk VK7JG-NPHTM-C97JM-9MPGT-3V66T slmgr /skms kms.xs