首页 > 代码库 > Powershell管理系列(十五)查询最近一个月未登录的AD账号和Exchange账号

Powershell管理系列(十五)查询最近一个月未登录的AD账号和Exchange账号

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750

今天听到群里有朋友问,想查询最近1个月未登录的AD账号,我们可以通过如下的Powershell来实现:

需求1、查询OU中所有账号的创建时间\SID\上次修改密码时间\最后一次登录时间

PowerShell查询指定OU中所有账号的创建时间\SID\上次修改密码时间\最后一次登录时间,可以通过如下命令完成:PS C:\Users\administrator.RIGHTDO> Get-ADuser -searchbase ‘ DC=rightdo,DC=net ‘ -filter * -Properties * | Select-Object Name,SID, Created,PasswordLastSet,@{n="lastLogonDate";e={[datetime]::FromFileTime($_.lastLogonTimestamp)}}

技术分享

这里有人就有疑问了,有人就会问了,不是有LastLogon这个属性吗,为什么还要引入LastLogonTimeStamp这个属性呢?

具体原因,大家去看这篇文章,看完就知道原因了,标题:细说LastLogonTimeStamp

http://blogs.technet.com/b/apgceps/archive/2011/10/25/details-about-lastlogontimestamp.aspx

需求2、查询OU中所有一个月内未登录的AD帐号,

PS C:\Users\administrator.RIGHTDO> Get-ADuser -searchbase ‘ DC=rightdo,DC=net ‘ -filter * -Properties * | Select-Object Name,SID, Created,PasswordLastSet,@{n="lastLogonDate";e={[datetime]::FromFileTime($_.lastLogonTimestamp)}} | where {$_.lastlogondate -lt (get-date).AddDays(-30)}

技术分享

需求3、查询OU中所有三个月内未登录的Exchange帐号,

PS C:\Users\administrator.RIGHTDO> Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
PS C:\Users\administrator.RIGHTDO> get-mailbox -ResultSize unlimited | Get-MailboxStatistics | where {$_.LastLogonTime -lt (get-date).AddDays(-90)} | ft displayName,lastlogontime,lastloggedonuseraccount,servername

技术分享

本文出自 “周平的微软技术交流平台” 博客,请务必保留此出处http://yuntcloud.blog.51cto.com/1173839/1610352

Powershell管理系列(十五)查询最近一个月未登录的AD账号和Exchange账号