如何判断一个用户是否在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那肯定不是合格的管理员。

转载于:https://blog.51cto.com/shadingyu/2362135

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值