最近接领导指示,说要做一个域密码提醒的服务,这样会更人性化些,员工也就不必等过期了来找管理员重置。但是但是本人不懂脚本,就干脆从网上找了些链接做为参考,这里感谢此链接的作者https://www.yeboyzq.com/windowsserver/632.html
以下是最终的过程
Import-Module Activedirectory
$ alladuser=get-aduser -searchbase“ou=, ou=, dc=*, dc=com"过滤器的PasswordNeverExpires eq“false"——情商启用“true"”| ForEach {$ _.SamAccountName}
$ userlist=@ ()
$ itmag=?强> @ 强> .com"
sendmail函数(mailaddr,身体美元)#定义发送邮件的方法
{
$味精=新对象System.Net.Mail。MailMessage
msg.To.Add美元($ mailaddr)
# msg.Bcc.Add美元($ itmag)
$味精。从=新对象System.Net.Mail.MailAddress(“<强> @ 强> .com",“<强> @ 强> .com", [system.Text.Encoding]:: GetEncoding (“UTF-8"))
美元味精。主题=坝蛘嘶苈爰唇谔嵝?“
美元味精。SubjectEncoding=[system.Text.Encoding]:: GetEncoding (“UTF-8")
美元味精。身体身体
=$ $味精。BodyEncoding=[system.Text.Encoding]:: GetEncoding (“UTF-8")
美元味精。IsBodyHtml假
=$ # $味精。优先级=[System.Net.Mail。MailPriority]::高
$客户=新对象System.Net.Mail.SmtpClient (“smtp.office365.com")
美元客户端。端口=587美元
客户端。EnableSsl=true
美元客户端。UseDefaultCredentials=假
客户美元。凭证=新对象System.Net.NetworkCredential(“<强> <强> @ 强> 强> .com",“password")
<代码>尝试{$ client.Send (msg)} 抓住(异常) {$ (_.Exception.Message美元) mailaddr美元 }代码>
}
foreach(用户alladuser美元)
{
$ pwdlastset=Get-ADUser $ user属性 | % {$ _.passwordlastset}
pwdlastday=pwdlastset.AddDays美元(90)
现在美元=get-date
$ expire_days=(pwdlastday -现在美元)。天
$ chineseusername=Get-ADUser $ user属性 | % {$ _。Displayname}
pwdset=pwdlastset美元。ToString (“yyyy年MM月dd日HH: MM: ss”)
pwdlast=pwdlastset.AddDays美元(90)。ToString (“yyyy年MM月dd日HH: MM: ss”)
tomailaddr=用户+美元“@huobi.com"
if ($ expire_days lt 8美元——expire_days ge 0)
{
#邮件正文
$ Emailbody=
“亲爱的chineseusername美元:
您的域账户密码即将在美元expire_days天后过期,请您立即更改。
过期时间段参考:
上次密码设置时间:美元pwdset
本次密码到期时间:美元pwdlast
<代码>此密码为有线联网,无线联网,×××,加域计算机的使用密码。 更改密码请遵循以下原则: ○密码长度最少10位; ○强制密码历史3个(不能使用之前最近使用的3个密码); ○密码可使用最长时间90天,90天以内可根据链接自行更改,超过90天请联系它更改; 北京:* * * *海南:* * * *深圳:* * * * ○密码符合复杂性需求(大写字母,小写字母,数字和符号四种中必须有三种,且密码口令中不得包括全部或部分用户名) ○windows更改:键盘按Ctrl + Alt + Del ○MACbook更改请访问:北京:http://海南:http://深圳:http://? sendmail tomailaddr Emailbody美元 } 如果($ expire_days lt 0) { $ Emailbody=扒装腸hineseusername美元: 您的域账户密码已过期,请联系这人员进行更改。 上次密码设置时间:pwdset美元 本次密码到期时间:pwdlast美元 北京:* * * *海南:* * * *深圳:* * * * ” sendmail tomailaddr Emailbody美元 }代码>
}
最终邮件效果
即将过期