Dealing with concurrent pipelines in remote PowerShell
One of the issues you are bound to run into, sooner or later, is a concurrent pipeline error when working in a remote PowerShell session. This is a common stumbling block for most administrators, since all Exchange Management Shell tasks are done through PowerShell remoting. Concurrent pipeline errors can often be counter-intuitive because the same command syntax works fine in a standard PowerShell session. In this recipe, we'll take a look at why this happens and what you can do to get around it.
How to do it...
PowerShell remoting does not support more than one pipeline running at a time. When executing multiple cmdlets within a pipeline, you may need to store the output of one or more commands in an object that can then be passed down the pipeline to other commands. For example, to pipe a collection of mailboxes to the New-InboxRule
command, use the following syntax to avoid a concurrent pipeline operation:
$mailboxes = Get-Mailbox...