在企业的 Exchange 使用中,如遇离职的情况,通常作法是禁用 AD 帐户、在 Exchange 中将该邮箱的[ 不显示在Exchange 地址列表中]的选项选中。在 Powershell 中,控制此选项的值 HiddenFromAddressListsEnabled 由默认的 False 变更为 True。如下图

wKioL1mwtfyyk09BAAD1rA-3UP0567.jpg


下面是实际操作:

找出不在地址列表中显示的邮箱

Get-Mailbox -ResultSize Unlimited | where {$_.HiddenFromAddressListsEnabled -eq "$true"}


统计数量

方法一:
[PS] D:\>(Get-Mailbox -ResultSize unlimited | where {$_.HiddenFromAddressListsEnabled -eq "$true"}).count

2639

方法二:
[PS] D:\>Get-Mailbox -ResultSize unlimited | where {$_.HiddenFromAddressListsEnabled -eq "$true"} | Measure-Object


Count    : 2639
Average  :
Sum      :
Maximum  :
Minimum  :
Property :



[PS] D:\>

e427a53a97916f62b6fe6768ea7896b8.jpg


获取帐号相关的信息并导出到 csv 中

Get-Mailbox -ResultSize Unlimited| where {$_.HiddenFromAddressListsEnabled -eq "$true"} | Get-Mailboxstatistics | select DisplayName,TotalItemSize,LastLogonTime | Export-Csv f:\HiddenAddress.csv -Encoding utf8


生产环境中从 AD 和 Exchange 各导出一份表,来对比禁用的帐户,这样更准确

AD 导出禁用的帐号
Get-ADUser -Filter {Enabled -eq "false"} -Properties * | select DisplayName,UserPrincipalName,LastLogonDate | sort LastLogonDate -Descending | Export-Csv d:\disable01.csv -Encoding utf8

下面是用二个表中的 DisplayName 列,在 Excel 表格中做的对比效果

公式是:=IF(COUNTIF(A:A,D1)=1,"重复","")

wKiom1mwuxrCmDXdAACZb2n1oEI576.jpg