Exchange Powershell:是不是可以区分基于本地和基于云的通讯组?

Posted

技术标签:

【中文标题】Exchange Powershell:是不是可以区分基于本地和基于云的通讯组?【英文标题】: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”代表云用户。

通讯组有类似的东西吗?我没有找到答案。

感谢您的帮助,问候

【问题讨论】:

【参考方案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)进行了比较,结果是正确的。

【讨论】:

以上是关于Exchange Powershell:是不是可以区分基于本地和基于云的通讯组?的主要内容,如果未能解决你的问题,请参考以下文章

格式表未生效(Exchange - powershell)

在powershell中加载Exchange PowerShell模块

使用PowerShell 导出Exchange中的用户中用户信息到Office 365

PowerShell-Exchange:Check High Item

Exchange 2010 PowerShell:无法绑定参数

通过 PHP 使用 Exchange 管理单元执行 powershell 脚本