In Exchange, when running a the search-mailbox command and you have a large user base, you might encounter the following error:

Sending data to a remote command failed with the following error message: The total data received from the remote clien
t exceeded allowed maximum. Allowed maximum is 524288000. For more information, see the about_Remote_Troubleshooting He
lp topic.
+ CategoryInfo : OperationStopped: (System.Manageme...pressionSyncJob:PSInvokeExpressionSyncJob) [], PSRe
motingTransportException
+ FullyQualifiedErrorId : JobFailure

The error takes a while to show but unfortunately it has reached a default limit which cannot be changed.

Don't worry, there are some workarounds which can get you through this, here are some of them:

To expand on the above, you can use the following command below to create a foreach statement to loop though the mailboxes:

ForEach Statement:

$Users = Get-Content "C:\Users\User\Script\Users.csv"
foreach ($User in $Users)
{
    Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery "Received:> $("2016-06-15 00:00:00") AND Received:< $("2016-07-01 00:00:00")" -targetmailbox domain\mailbox -TargetFolder Search1 -LogLevel full
}

vs the standard command to search the mailbox:

Get-Mailbox -ResultSize unlimited -OrganizationalUnit 'domain.local/OU/domain.com' | Search-Mailbox -SearchQuery "Received:> $("2016-06-15 00:00:00") AND Received:< $("2016-07-01 00:00:00")" -targetmailbox domain\mailbox -TargetFolder Search1 -LogLevel full

Using an Individual mailbox server:

Get-MailboxServer -Identity Server1 | Get-Mailbox -ResultSize unlimited -OrganizationalUnit 'domain.local/OU/domain.com' | Search-Mailbox -SearchQuery "Received:> $("2016-06-15 00:00:00") AND Received:< $("2016-07-01 00:00:00")" -targetmailbox domain\mailbox -TargetFolder Search1 -LogLevel full

Creating a new PSSessionConfiguration, this includes 3 commands:

Register-PSSessionConfiguration -Name CustomLimits
Set-PSSessionConfiguration -Name CustomLimits -MaximumReceivedDataSizePerCommandMB 500 -MaximumReceivedObjectSizeMB 500
$Session = New-PSSession -ComputerName Server2 -ConfigurationName CustomLimits

If you still getting errors then try and change your search, shortening the date range.