这是相当直接的,因为大多数 Exchange cmdlet 允许直接通过管道连接到其他 Exchange cmdlet。
列出所有用户,以及他们启用了哪些 API 或协议:
Get-CASMailbox -ResultSize unlimited
可能对您更有用的是 CSV 格式的列表,因为在 PowerShell 控制台中很难对 200 个用户进行排序。这将列出更多协议和功能,根据需要进行调整:
Get-CASMailbox -ResultSize unlimited | Select-Object -Property Identity, *Enabled | Export-Csv -NoTypeInformation -Path report.csv
列出所有启用了 MAPI 的用户:
Get-CASMailbox -ResultSize unlimited | where {$_.MapiEnabled -match "true"}
列出所有未启用 MAPI 的用户并启用它。-WhatIf
准备好运行时删除:
Get-CASMailbox -ResultSize unlimited | where {$_.MapiEnabled -match "False"} | Set-CASMailbox -MAPIEnabled $true -WhatIf
请注意,这是针对 Exchange Online 组织(默认启用 MAPI)运行的。您可能需要使用Get-CASMailbox -OrganizationalUnit <OrgName>
或其他过滤器来确保您只处理正确的邮箱。