Windows PowerShell: FAQs for Administrators

Applies to: Office 365 for professionals and small businesses, Office 365 for enterprises, Live@edu

Here's what administrators are asking about Windows PowerShell and Windows Remote Management (WinRM).

Where do I learn more about Windows PowerShell and WinRM?

To learn how to install and configure Windows PowerShell and connect to the service, see Use Windows PowerShell in Exchange Online.

Errors and suggested solutions

  • Errors when you try to connect
  • Errors when you try to run commands

Errors when you try to connect

Error Suggested solution

Access is denied.

Verify that the credentials that you're using to connect are correct.

The WinRM client cannot process the request. It cannot determine the content type of the HTTP response from the destination computer. The content type is absent or invalid.

Verify the user account is authorized to connect to the cloud-based service using Windows PowerShell. For more information, see Control Users' Access to Windows Remote Management.

PowerShell plugin does not support the protocol version requested by client. Make sure client is compatible with build <build number> of PowerShell.

The wrong version of Windows PowerShell is installed. To install the Windows Management Framework that contains the correct version of Windows PowerShell, see Install and Configure Windows PowerShell.

The Windows Remote Shell cannot process the request; the selector value <GUID> specified in the request was not found.

The wrong version of WinRM is installed. To install the Windows Management Framework that contains the correct version of WinRM, see Install and Configure Windows PowerShell.

The WinRM client cannot process the request. The WinRM client tried to use Negotiate authentication mechanism, but the destination computer returned an 'access denied' error... Possible authentication mechanisms reported by server: Basic.

The connection requires basic authentication. This error indicates that WinRM isn't configured to allow basic authentication. For more information, see Install and Configure Windows PowerShell.

The I/O operation has been aborted because of either a thread exit or an application request.

First, to get more details, run the following command immediately after you get the error:

$Error[0].Exception | Format-List * -Force

The output generated by this command may say: ErrorRecord : Connecting to remote server failed with the following error message: WS-Management cannot process the request. The operation failed because of an HTTP error. The HTTP error (12007) is: The server name or address could not be resolved.

This error may indicate that your local computer is protected by a Microsoft Internet Security and Acceleration (ISA) server. If this is true, you need to modify the configuration of your local computer. Here's how:

  1. Install the Microsoft Firewall Client.
  2. If installing the Firewall Client doesn't help, check the HTTP proxy settings on your local computer by running the following command:

    netsh winhttp show proxy

    The output of the command may say:

    Current WinHTTP proxy settings:
        Direct access (no proxy server).
  3. If your local computer doesn't have an HTTP proxy specified, specify one by running the following command:

    netsh winhttp set proxy <proxy server name>:80 "<local>"

    For example, if the name of your organization's proxy server is proxy1, run the following command:

    netsh winhttp set proxy proxy1:80 "<local>"

    After you run the command to configure the proxy server, you should see output that resembles the following:

    Current WinHTTP proxy settings:
        Proxy Server(s) :  proxy1:80
        Bypass List     :  local

Errors when you try to run commands

Error Suggested solution

All of a sudden cmdlets aren't working. What's wrong?

If you're connected to your cloud-based organization and you find that cmdlets aren't working, your connection may be broken because of a network error or other issues.

For example, if you run the following command:

Get-Mailbox

You may get errors like these:

  • Error processing data from remote server using WinRMReceiveShellOutputEx api.
  • Cannot bind parameter 'ConfigurationName'. Cannot convert value "-System.Management.Automation.Remoting.RemoteSessionInfo" to type "System.Management.Automation.Remoting.RemoteSessionInfo".

If so, reconnect by following the instructions in Connect Windows PowerShell to the Service.

Pipeline not executed because a pipeline is already executing. Pipelines cannot be executed concurrently.

You see this error when you pipe the output of a cmdlet to a foreach command that also uses a cmdlet. For example:

Get-Mailbox | foreach {Set-Mailbox $_.Name -CustomAttribute1 "Student"}

You can't run more than one pipeline at a time. To resolve the error, store the results of the first cmdlet in a variable, and pipe the variable to the foreach command. For example:

$Mailboxes = Get-Mailbox
$Mailboxes | foreach {Set-Mailbox $_.Name -CustomAttribute1 "Student"}

<Script name> cannot be loaded because the execution of scripts is disabled on this system.

You need to set the Windows PowerShell remote execution policy to RemoteSigned. For more information, see Install and Configure Windows PowerShell.