微軟Exchange-統計AD帳號被禁用的郵箱

Exchange是完全依賴於AD的,包括郵箱屬性,服務器的架構擴展等。有時候我們會發現,某些員工離職,AD賬號已經被禁用,但是他的郵箱依然可用,能夠正常收發郵件。可能大家會吐槽,AD賬號都禁用了,為什麼還能發郵件呢,畢竟都不能登錄了嘛。如果這個郵箱有授權給其他人去查看和發送呢?那不就可以收發了嘛。

其實,這也是共享郵箱的實現機制,感興趣的同學可以去了解一下,什麼是共享郵箱哈。

廢話不多說,我們一起來看一下如何統計這些AD賬號已經被禁用,但是郵箱依然可用的賬號吧。打開Exchange shell命令行工具,運行如下命令:

Get-Mailbox-Identity test01 |fl "*Exchange*"

微軟Exchange-統計AD賬號被禁用的郵箱

我們看到ExchangeUserAccountControl這個屬性值是None,表示Exchange認為他的AD賬號是啟用的(為啥是表示呢,因為這裡有個坑,下面說)。

我們再看看另一個被禁用的賬號test02,運行命令如下:

微軟Exchange-統計AD賬號被禁用的郵箱

打臉時候來了,為啥禁用的AD賬號,依然是None呢,不按套路出牌呀。實際上經過反覆測試和查找資料,這裡的確是一個坑,不是所有郵箱都會去找AD去重新同步狀態信息。你要問我為什麼,我只能讓你去問微軟了,哈哈。

那麼如何讓郵箱去找AD同步狀態信息呢,需要運行如下命令:

Get-Mailbox-Identity test02 |Set-Mailbox

再運行命令看看:

微軟Exchange-統計AD賬號被禁用的郵箱

嗯,這下終於跟我們的期望值一樣了,不錯!

現在歸納一下,如何在郵件服務器上直接統計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}

有人可能覺得這個方法不行,沒有篩選出禁用的賬號,還要導出來自己手動篩選,很笨。其實很多事情和方法沒有對錯與好壞,看是否適合自己,想要直接篩選出禁用的賬號,也是可以的哈,感興趣的同學可以自己去研究研究。


分享就到這裡,有問題可以隨時留言問我。


分享到:


相關文章: