Exchange Server 2010下,检测用户密码到期通知提醒脚本

############################################
#Author:wangtingdong
#Email:[email protected]
#For:检测AD密码过期时间并邮件通知
#Version:1.0
##############################################
Import-Module Activedirectory
#@1和@2选择一个执行
#@1检索出指定OU里不包含设置了永不过期及禁用的账户
#$alladuser=get-aduser -searchbase "DC=doubioa,DC=ren" -Filter ‘PasswordNeverExpires -eq "false" -and enabled -eq "true"‘  |ForEach{$_.SamAccountName}
#@2检索出所有OU里不包含设置了永不过期及禁用的账户
$alladuser=Get-ADUser -Filter ‘PasswordNeverExpires -eq "false" -and enabled -eq "true"‘ |ForEach{$_.SamAccountName}
$userlist = @()
#################################################
#检测AD密码过期时间并邮件通知相应账户
##################################################
foreach ($user in $alladuser){
#密码最后一次更改时间
$pwdlastset=Get-ADUser $user -Properties * |ForEach{$_.passwordlastset}
#密码的过期时间
$pwdlastday=($pwdlastset).adddays(90)
#当前时间
$now=get-date
#距离密码过期的时间
$expire_days=($pwdlastday - $now).Days
#判断过期时间天小于7天的账户
if($expire_days -lt 7 ){
    $chineseusername= Get-ADUser $user  -Properties * |ForEach{$_.Displayname}
#邮件正文
    $Emailbody=
@"
<p class="MsoNormal" align="left" style="text-align: justify; margin: 0cm 0cm 0.0001pt;
    font-size: 10.5pt; font-family: Calibri, sans-serif;">
    <a name="_MailOriginal"><span lang="EN-US" style="font-size: 12.0pt; font-family: 宋体;
        mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">您好, </span><span style="font-size: 12.0pt;
            font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">$chineseusername<span
                lang="EN-US"> :</span></span>

<p class="MsoNormal" align="left" style="text-align: justify; margin: 0cm 0cm 0.0001pt;
    font-size: 10.5pt; font-family: Calibri, sans-serif;">
    <span style="font-size: 12.0pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">
        &nbsp; &nbsp; 您的邮箱账户密码即将在<span lang="EN-US"> <font
            color="#ff0000">$expire_days</font> </span>天后过期,<span lang="EN-US"> <font color="#ff0000">
                $pwdlastday</font> </span>之后您将无法使用该账户登陆相关系统,请您尽快登录 http://mail.doubi.ren 更改帐号密码。</span>

<p class="MsoNormal" align="left" style="text-align: justify; margin: 0cm 0cm 0.0001pt;
    font-size: 10.5pt; font-family: Calibri, sans-serif;">
    <span style="font-size: 12.0pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">
        &nbsp; &nbsp; 重置密码过程请遵循以下原则:</span>

<p class="MsoNormal" align="left" style="text-align: justify; margin: 0cm 0cm 0.0001pt;
    font-size: 10.5pt; font-family: Calibri, sans-serif;">
    <span style="font-family: 宋体; font-size: 16px; line-height: 24px; background-color: window;">
        &nbsp; &nbsp;</span><span style="font-family: 宋体; font-size: 16px; line-height: 24px;
            background-color: window;">&nbsp;</span><span style="font-size: 12.0pt; font-family: 宋体;
                mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><span lang="EN-US">1、</span>密码长度最少<span
                    lang="EN-US">8</span>位,</span>密码中不能包含帐号信息;</span>

<p class="MsoNormal" align="left" style="text-align: justify; margin: 0cm 0cm 0.0001pt;
    font-size: 10.5pt; font-family: Calibri, sans-serif;">
    <span style="font-family: 宋体; font-size: 16px; line-height: 24px; background-color: window;">
        &nbsp; &nbsp;</span><span style="font-family: 宋体; font-size: 16px; line-height: 24px;
            background-color: window;">&nbsp;</span><span style="font-size: 12.0pt; font-family: 宋体;
                mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><span lang="EN-US">2、</span>密码可使用最长时间<span
                    lang="EN-US">90</span>天,过期需要更改密码;</span>

<p class="MsoNormal" align="left" style="text-align: justify; margin: 0cm 0cm 0.0001pt;
    font-size: 10.5pt; font-family: Calibri, sans-serif;">
    <span style="font-family: 宋体; font-size: 16px; line-height: 24px; background-color: window;">
        &nbsp; &nbsp;</span><span style="font-family: 宋体; font-size: 16px; line-height: 24px;
            background-color: window;">&nbsp;</span><span style="font-size: 12.0pt; font-family: 宋体;
                mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><span lang="EN-US">3、</span>密码设置中必须包含:英文大写字母(A-Z),英文小字字母(a-z),10个基本数字(0-9),特殊字符(如!$ % ^ *等)。</span>

<p class="MsoNormal" align="left" style="text-align: justify; margin: 0cm 0cm 0.0001pt;
    font-size: 10.5pt; font-family: Calibri, sans-serif;">
    <span style="font-family: 宋体; font-size: 16px; line-height: 24px; background-color: window;">
        &nbsp; &nbsp;</span><span style="font-family: 宋体; font-size: 16px; line-height: 24px;
            background-color: window;">&nbsp;</span><span style="font-size: 12.0pt; font-family: 宋体;
                mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><span lang="EN-US">4、</span>强制密码历史<span
                    lang="EN-US">24</span>个(不能使用之前最近使用的<span lang="EN-US">24</span>个密码);</span>

<span style="font-family: 宋体; font-size: 16px; line-height: 24px; background-color: window;">
        &nbsp; &nbsp;</span><span style="font-family: 宋体; font-size: 16px; line-height: 24px;
            background-color: window;">&nbsp;</span><span style="font-size: 12.0pt; font-family: 宋体;
                mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><span lang="EN-US">密码修改方法请登录:http://wiki.doubioa.ren.com/changepassword</span>

<p class="MsoNormal" align="left" style="text-align: justify; margin: 0cm 0cm 0.0001pt;
    font-size: 13px; font-family: Calibri, sans-serif;">
    <span style="font-family: 宋体;"><span lang="EN-US"><font color="#969696">************************************************************************************************************************************************************************</font></span></span>

<p class="MsoNormal" align="left" style="text-align: justify; margin: 0cm 0cm 0.0001pt;
    font-size: 13px; font-family: Calibri, sans-serif;">
    <span style="font-family: 宋体;"><font color="#969696">系统自动提醒<span lang="EN-US">,</span>请不要回复<span
        lang="EN-US">!</span>如有任何疑问,请联系[email protected],IT支持电话:010-8888888</font></span>

"@
#SMTP发信验证
$anonUser = "[email protected]"
$anonPass = ConvertTo-SecureString "89OP:./}+" -AsPlainText -Force
#发送邮件
Send-MailMessage -To "[email protected]" -Subject "您的域账户密码即将过期,请尽快更改!" -Bodyashtml $Emailbody -From "[email protected]"  -SmtpServer "mail.doubi.ren" -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 -To "[email protected]" -Subject "域账户密码即将过期人员汇总通知" -Bodyashtml $EmailbodyHTML -From "[email protected]"  -SmtpServer "mail.doubi.ren"  -Encoding ([System.Text.Encoding]::UTF8)

时间: 2024-09-27 22:59:46

Exchange Server 2010下,检测用户密码到期通知提醒脚本的相关文章

Exchange Server 2010安装

Exchange Server 2010是Microsoft最新的邮件服务器软件,功能比较强大.在此,我们在虚拟机中安装体验一下,主要步骤如下: (1) 安装Windows Server 2008 R2(2GB内存).安装IIS. (2) 安装所需要的软件. (3) 安装Exchange 2010. (4) 登录OWA,以管理员帐户登录使用. (5) 创建新的邮箱,使用普通用户登录. 下面是具体的过程. 1 准备Windows Server 2008并升级到域 (1)准备一台Windows Se

升级至Exchange Server 2010 SP3邮箱出现异常

最近在做一个Exchange升级的项目,在部署Exchange Server 2016之前需要将现有环境的Exchange 2010 SP1更新至Exchange Server 2010 SP3RU11或更新的版本中.在更新完SP3+RU11后发现登录OWA时出现异常,在最开始初步以为是RU11的问题,但是卸载后RU11还是一样的问题,所以当时排除是花了比较长的时间的.如下是本次的现象和最后解决的办法供大家参考. 升级至SP3+RU11重启后发现有时可以登录OWA但是点击"新建"邮件时

Exchange Server 2010数据库崩溃还原过程

客户公司Exchange Server 2010 邮箱数据库数据损坏,所幸以前使用DPM进行过数据库备份,临时创建一个空库以满足大家发往邮件的需要.两天后,原DPM中的数据库恢复成功,那么新建的数据库就需要和还原的数据库进行合并,操作步骤如下: 1.DPM中还原数据库到一个文件夹中,这个操作很简单,大致如下图所示: 根据提示将数据库还原到指定文件夹,然后复制到Exchange的MBX服务器上,例如,复制到e:\olddb下. 2. EMS上新建一个数据库,名称可以自拟,然后卸载此数据库,再对数据

通过Postfix构建Exchange Server 2010邮件网关部署系列一:创建新域环境

在企业部署邮件平台实例中,我们不仅仅只是完成Exchange Server 2010平台的搭建,我们还需要考虑到Exchange如何发布?端口有哪些?邮件网关用什么样的? 那么关于端口发布部分我们后期会再介绍,本次我们主要介绍利用开源平台下的Postfix如何实现邮件网关功能,来保证企业邮件的安全性. 在系列部署系列第一讲中,我主要介绍最基本的如何搭建域环境,来满足Exchange Server 2010搭建的基础要求. [演示环境IP地址信息]     [演示环境主机名] 新建域控制器:  

也谈Exchange Server 2010单站点的高可用设计

Exchange Server 2010 是一种消息传递平台,提供了电子邮件.日程安排以及用于自定义协作和消息服务应用程序的工具. 1.Exchange Server 2010服务角色 Exchange 2010 包括以下五种服务器角色: 1.1 邮箱服务器: 在 MicrosoftExchange Server 2010 中,邮箱服务器角色是可以在运行 Windows Server 2008 的服务器上安装并配置的几个服务器角色之一.邮箱服务器角色是最常用的服务器角色,在 Exchange 组

Exchange Server 2010数据库备份和恢复

恢复数据库 (RDB) 一种特殊的邮箱数据库,通过它您可以装入还原的邮箱数据库,并可以在恢复操作中从还原的数据库提取数据.您可以使用 Restore-Mailbox cmdlet 从 RDB 提取数据.提取后,可将数据导出到一个文件夹或者合并到一个现有邮箱中.RDB 使您能够从备份或数据库副本中恢复数据,而不会干扰用户对当前数据的访问. Microsoft Exchange Server 2010 支持将数据直接还原到恢复数据库.通过将已恢复的数据作为恢复数据库装入,管理员可以还原单个邮箱或邮箱

关于Exchange Server 2010 启用邮箱时MMC控制台崩溃问题处理

最近有小伙伴咨询问题,关于对已有的AD帐号启用邮箱功能时,EMC控制台崩溃,并提示如下界面显示,反复操作都是无法创建,一直崩溃,那么我们先来看看这个EMC控制台引出的MMC控制台报错.当然这时会有一个疑问为什么EMC崩溃时会显示的是MMC控制台呢?这个好理解,因为EMC其实也是建立在MMC基础上的哦. OK,我们现在来重现一下这个报错场景,跟我来:     首先,创建一个用于批量创建帐号的CSV文件,格式内容如下: 接下来,我们执行PowerShell,运行创建帐号脚本: 命令执行后,没有报错,

关于Exchange Server 2010中OWA页面无法打开问题处理方法

在Exchange Server 2010中用户有时会出现打不开OWA页面,并提示如下显示内容: 在这里首先要了解和知道的是OWA页面打不开肯定是和客户端访问服务器角色CAS是有关系,那么了解这一点后,我们来检查CAS中哪个位置出现问题,首先先来检查Exchange中各项服务是否正常,当检查到如下图所示项时,发现服务运行不正常,未启动? 那么这时,你可以选择重新启动些项服务,也可以采用下图所示方法,重新启动IIS服务来实现解决. 那么我们再次打开OWA页面,并进行登录,此时可以看到,已经正常,如

为VisualSVN Server增加在线修改用户密码的功能

原文:为VisualSVN Server增加在线修改用户密码的功能 附件下载:点击下载 VisualSVN Server是一个非常不错的SVN Server程序,方便,直观,用户管理也异常方便. 不过,它本身并没有提供在线修改密码的功能.由于在实际使用过程中,一旦SVN的用户比较多,只单单依靠windows的管理控制台去修改密码 显然是不太合适的. 总不能任何人想改个密码还要通过管理员吧?所以,就想为其增加在线修改密码的功能. 说实话,网上已经有了可以在线修改密码的方法.试用过,也的确可以.不过