Exchange Powershell 试图收集所有已授予发送权限的邮箱

Exchange Powershell attempting to gather all mailboxes that have send as permissions granted

我正在处理从本地 Exchange 2010/2013 到 Office 365 Exchange 在线迁移。我正在尝试收集已授予权限的所有用户类型和共享类型邮箱的报告;以及已被授予权限的邮件用户的名称。我使用的代码如下。

#Get-Mailbox -RecipientTypeDetails SharedMailbox,usermailbox -resultsize unlimited | Get-ADPermission | where {($_.ExtendedRights -like "*Send-As*") -and ($_.IsInherited -eq $false) -and -not (($_.User -like "NT AUTHORITY\SELF") -or ($_.User -like "S-1-5-*") -or ($_.User -like "NT AUTHORITY\SYSTEM") -or ($_.User -like "BUILTIN\Administrators"))} | select User,identity | Export-Csv $outfile

代码似乎有效,但几分钟后我得到以下信息:

我已经尝试 运行 来自 3 个不同交换服务器的代码,但不断收到相同错误的变体,我不知所措。我什至尝试将其限制为仅用户和共享邮箱无济于事。如有任何建议,我们将不胜感激。

那个特定的错误非常具体。大小配额阻碍了成功。

您可以更改大小以查看是否能解决您的问题。

winrm get winrm/config 

Default configuration

Config
    MaxEnvelopeSizekb = 500
    MaxTimeoutms = 60000
    MaxBatchItems = 32000
    MaxProviderRequests = 4294967295
    Client
        NetworkDelayms = 5000
        URLPrefix = wsman
...


winrm get winrm/config @{MaxEnvelopeSizekb="5000"}

更新,上面应该已经设置了没搞定,转置不好。

winrm set winrm/config @{MaxEnvelopeSizekb="5000"}

或者 OP (CBeale) 记录的 cmd。

Set-WSManInstance -ResourceURI winrm/config -ValueSet @{MaxEnvelopeSizekb = "5000"}