Exchange Powershell尝试收集已授予权限的所有邮箱

时间:2017-12-29 23:06:08

标签: powershell exchange-server-2010 exchange-server-2013

我正在从内部部署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

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

enter image description here

我已尝试从3个不同的交换服务器运行代码并继续获取相同错误的变体而且不知所措。我甚至尝试将其限制为仅用户和共享邮箱无济于事。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

该特定错误非常具体。规模配额阻碍了成功。

您可以更改尺寸以查看是否可以解决您的问题。

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"}