Learn Exchange the Guru way !!!


EOP / Office 365: Connect and Use Powershell

The blog will explain the steps on how to connect to office 365 or Exchange online protection for the management using powershell of your desktop client computer.

Connecting Steps:

  1. Open powershell with Run as Administrator on your computer


  2. Run the command to cache authentication

    $Cred = Get-credential


    This will popup authentication windows. Type your login id which is the User principal name and password.


  3. Run the command to configure the powershell to use the office 365.

    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $Cred -Authentication Basic –AllowRedirection


  4. Verify and change the execution policy.


    To verify run the command:



    To change run the cmd

    Set-ExecutionPolicy RemoteSigned


         5. Run the below command to import the session
        Import-PSSession $Session


If your executionpolicy will be Restricted then you will see the below error:

Import-PSSession : Files cannot be loaded because the running of scripts is disabled on this system. Please provide a

valid certificate with which to sign the files.


           6. Now your powershell is ready to use and run any command here.

As an example I ran the below command





Disconnecting Session


Run the below command to disconnect the session:

Remove-PSSession $Session



To verify run the working command as mentioned below and you will see the below error

Command: Get-Mailbox

Error: The term ‘Get-Mailbox’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.


Prabhat Nigam

Microsoft MVP | Exchange Server


15 Responses to “EOP / Office 365: Connect and Use Powershell”

  1. TechNet Blogs Says:

    […] EOP / Office 365: Connect and Use Powershell […]

  2. Pramod Says:

    Thanks 🙂
    This was of great help to me

  3. Jettie Hillenbrand Says:

    Many thanks for the great post, I was searching for details like this, going to check out the other blog posts.

  4. tushar Says:

    Thanks a lot. Great help!!

  5. Exchange 2013: Hybrid Part 4 « Says:

    […] […]

  6. Exchange 2013: Hybrid Part 6 « Says:

    […] Connect to the Office 365 PowerShell using this blog – […]

  7. Exchange 2013: Hybrid Part 1 « Says:

    […] Connect to the Office 365 tenant using remote Windows PowerShell. For step-by-step connection instructions from here – […]

  8. WAT Says:

    I have successfully connect to Office 365 using Windows Azure Active Directory Module for Windows PowerShell. I can also run many commands, such as Get-MsolUser. However I still have problem that the power shell not recognize the commands “Set-TransportConfig -AddressBookRoutingEnabled $true”

    I would appreciate if any one can advise how to resolve this issue?

    Thank you

  9. Prabhat Nigam Says:

    You need to connect to exchange module in other words office 365 module. Azure module is different.

  10. Roger Says:

    Great work I have been going around in circles to do this

  11. Exchange Hybrid: Batch Migration « Says:

    […] Now you will be wondering just for one mailbox whole batch will be waiting. Answer is yes if we wish to run a command for the batch but if we decide to run a command for other mailboxes which are in the auto-suspend status after 95% sync then we have to use PowerShell. Use this blog to connect to the office 365 powershell […]

  12. Guru Says:

    Can we follow the same steps to connect to Office 365 through powershell even without hybrid model. As I am unable to connect to office 365 through power-shell mode with E3 plan

  13. Prabhat Nigam Says:

    Hi Guru,

    Please share the error

  14. Guru Says:

    Thanks for your response .

    Please find the below error message
    New-PSSession : [] Connecting to remote server failed with the following error message : [ClientAccessSe
    b,TimeStamp=8/29/2017 1:59:55 PM] [FailureCategory=LiveID-InvalidCreds] For
    more information, see the about_Remote_Troubleshooting Help topic.
    At line:1 char:12
    + $Session = New-PSSession -ConfigurationName Microsoft.Exchange
    -ConnectionUri ht …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : OpenError: (System.Manageme….RemoteRunspace:Re
    moteRunspace) [New-PSSession], PSRemotingTransportException
    + FullyQualifiedErrorId : -2144108477,PSSessionOpenFailed
    PS C:\Windows\system32>

  15. Prabhat Nigam Says:

    Which command you had run. This one or something else.
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $Cred -Authentication Basic –AllowRedirection

Leave a Reply