Exchange是完全依赖于AD的,包括邮箱属性,服务器的架构扩展等。有时候我们会发现,某些员工离职,AD账号已经被禁用,但是他的邮箱依然可用,能够正常收发邮件。可能大家会吐槽,AD账号都禁用了,为什么还能发邮件呢,毕竟都不能登录了嘛。如果这个邮箱有授权给其他人去查看和发送呢?那不就可以收发了嘛。
其实,这也是共享邮箱的实现机制,感兴趣的同学可以去了解一下,什么是共享邮箱哈。
废话不多说,我们一起来看一下如何统计这些AD账号已经被禁用,但是邮箱依然可用的账号吧。打开Exchange shell命令行工具,运行如下命令:
Get-Mailbox-Identity test01 |fl "*Exchange*"

我们看到ExchangeUserAccountControl这个属性值是,表示Exchange认为他的AD账号是启用的(为啥是表示呢,因为这里有个坑,下面说)。
我们再看看另一个被禁用的账号test02,运行命令如下:

打脸时候来了,为啥禁用的AD账号,依然是呢,不按套路出牌呀。实际上经过反复测试和查找资料,这里的确是一个坑,不是所有邮箱都会去找AD去重新同步状态信息。你要问我为什么,我只能让你去问微软了,哈哈。
那么如何让邮箱去找AD同步状态信息呢,需要运行如下命令:
Get-Mailbox-Identity test02 |Set-Mailbox
再运行命令看看:

嗯,这下终于跟我们的期望值一样了,不错!
现在归纳一下,如何在邮件服务器上直接统计AD账号禁用的邮箱:
1、让所有账号去找AD同步状态信息
Get-Mailbox -Resultsize unlimited |Set-Mailbox
2、运行完成后,继续运行查找命令
Get-Mailbox -ResultSize Unlimited | ? {$_.UserAccountControl -match “AccountDisabled” -and $_.isLinked -match “false” -and $_.isResource -match “false”} |select-object DisplayName,Alias,Database,ItemCount,TotalItemSize | export-csv c:\disabledwmail.csv
当然可以直接复制到制作为powershell脚本哈。
其实,很多时候我们并不知道这个值可以查看禁用了AD账号的邮箱,我们可以通过绕一点,但是更容易更简单的方式来实现,一起来看下面的脚本
$Users=(Get-Mailbox -ResultSize Unlimited).SAmAccountName
foreach($user in $users) {Get-ADUser -Identity test01 -Properties Enabled |Select-Object Name,Enabled|export-csv C:\\userstatus.csv -encoding utf8}
有人可能觉得这个方法不行,没有筛选出禁用的账号,还要导出来自己手动筛选,很笨。其实很多事情和方法没有对错与好坏,看是否适合自己,想要直接筛选出禁用的账号,也是可以的哈,感兴趣的同学可以自己去研究研究。
分享就到这里,有问题可以随时留言问我。
相关资讯
最新热门应用
非小号交易平台官网安卓版
其它软件292.97MB
下载
币交易所地址
其它软件274.98M
下载
iotx交易所app
其它软件14.54 MB
下载
zt交易所安卓最新版
其它软件273.2 MB
下载
币拓交易所bittok
其它软件288.1 MB
下载
u币交易所平台app
其它软件292.97MB
下载
热币全球交易所app官网版
其它软件287.27 MB
下载
多比交易平台app
其它软件28.28MB
下载
币赢交易所app官网安卓版
其它软件14.78MB
下载
toncoin币交易所安卓版
其它软件48MB
下载