如何判断一个用户是否在O365上还是本地Exchange服务器上

我参考的文章是这个链接。
https://mikefrobbins.com/2018/08/02/determine-if-a-mailbox-is-on-premises-or-in-office-365-with-powershell/

创新互联公司为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到网站设计、成都做网站, 我们的网页设计师为您提供的解决方案。

Mike Robbins是一个非常厉害的大牛。

我现在的公司就是把Exchange邮箱迁移到O365平台上,然后用的是国际版E3证书。我得到一个需求就是把迁到云上的用户和没有迁移到的用户做一个统计。因为这个操作是好多人在做迁移,反正也给迁乱了。

我觉得Get-MsolUser 这个命令很不错,但是我的权限是受限的,使用不了.我就想了如下的办法也能实现这种需求。

第一,我先到O365的管理端,导出来所有的有E3证书的用户
第二,其实可以写一个脚本,然后逐个检查用户邮件数据是否真正在O365上,有些用户是为了某些原因直接给指定的E3证书,而数据并未上去。检查的命令就是:

PS C:\> Get-Mailbox -Identity domain account

Name Alias Database ProhibitSendQuota ExternalDirectoryObjectId


domain account_c2203f1a99 domain account NAMPR14DG007-db061 99 GB (106,300,44... e55244b4-be94-4be0-9e4...

这里面会有一个数据库信息,也就是说迁到云上的用户会有一个数据库在O365上。那没有的就是没有迁到云上的。

当然,为了万无一失,还需要其他命令的结果的证明。
比如:
Get-Recipient
PS C:\> Get-Recipient -Identity josh.jin

Name RecipientType


Jin, Josh_c2203f1a99 UserMailbox

这里面的RecipientType 如果是UserMailbox就是O365的用户,如果是MailUser就是没有迁移过来的。

然后再去自己的Exchange服务器,运行以下命令:

Get-Mailbox -Identity 域帐号 | select-object Database,ArchiveDatabase

这里显示用户所在的本地的邮件数据库。

经过上面验证,可以查出用户是否在O365上还是本地邮件数据库。

做系统管理的,除了要熟悉那些图形的界面,还要熟悉Powershell,换句话说,如果你做微软系统维护,不会Powershell那肯定不是合格的管理员。


文章标题:如何判断一个用户是否在O365上还是本地Exchange服务器上
转载来源:http://scyanting.com/article/pgpioo.html