十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我参考的文章是这个链接。
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那肯定不是合格的管理员。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。