【问题标题】:Exchange Powershell : Is it possible to differentiate on prem and cloud based distribution group?Exchange Powershell:是否可以区分基于本地和基于云的通讯组?
【发布时间】:2021-12-05 13:28:09
【问题描述】:
我正在尝试创建一个脚本,该脚本必须计算混合 Exchange 设置(本地 + 办公室 365)中基于云和本地通讯组的数量。
我已经对用户邮箱进行了此操作,可以通过使用 RecipientTypeDetails 属性来区分它们。 “UserMailBox”代表本地用户,“MailUser”代表云用户。
通讯组有类似的东西吗?我没有找到答案。
感谢您的帮助,问候
【问题讨论】:
标签:
powershell
office365
exchange-server
【解决方案1】:
我终于找到了答案。以下是邮箱类型使用的 cmdlet:
"USER_ONPREM" = (Get-Mailbox -Resultsize Unlimited -RecipientTypeDetails "UserMailbox").Count
"USER_CLOUD" = (Get-Recipient -Resultsize Unlimited -RecipientTypeDetails "RemoteUserMailbox").Count
"SHARED_ONPREM" = (Get-Mailbox -Resultsize Unlimited -RecipientTypeDetails "SharedMailbox").Count
"SHARED_CLOUD" = (Get-Recipient -Resultsize Unlimited -RecipientTypeDetails "RemoteSharedMailbox").Count
"EQUIPMENT_ONPREM" = (Get-Mailbox -Resultsize Unlimited -RecipientTypeDetails "EquipmentMailbox").Count
"EQUIPMENT_CLOUD" = (Get-Recipient -Resultsize Unlimited -RecipientTypeDetails "RemoteEquipmentMailbox").Count
"ROOM_ONPREM" = (Get-Mailbox -Resultsize Unlimited -RecipientTypeDetails "RoomMailbox").Count
"ROOM_CLOUD" = (Get-Recipient -Resultsize Unlimited -RecipientTypeDetails "RemoteRoomMailbox").Count
"DL_ONPREM" = (Get-DistributionGroup -Resultsize Unlimited | where {$_.IsDirSynced -eq $False}).Count
"DL_CLOUD" = (Get-DistributionGroup -Resultsize Unlimited | where {$_.IsDirSynced -eq $True}).Count
要获取本地邮箱,只需使用 Get-Mailbox 并按类型过滤即可。
要获取远程邮箱(即从本地环境同步/迁移的邮箱),可以使用 Get-RemoteMailbox 或 Get-Recipient 并按类型过滤并添加后缀“Remote”。
最后要获得“仅限云”邮箱,只能使用 Exchange Online 连接检索它们,然后我们可以从那里验证哪些邮箱没有与属性 $_.IsDirSynced 同步。
更多信息:https://docs.microsoft.com/en-us/answers/questions/594318/exchange-powershell-is-it-possible-to-differentiat.html
当 onPrem IsDirSynced 指示邮箱是否同步到云端,当在云中时 IsDirSynced 指示邮箱是否同步到本地。不是很直观,但嘿,我猜是微软。
我将结果与 ECP 返回的结果(ECP 将帐户分类为 OnPrem 或 Office 365)进行了比较,结果是正确的。