Can I create a single PowerShell session for Lync Online, SharePoint Online, Azure AD, and Exchange Online?

The answer is yes you can however I couldn’t find this documented so I decided to write a post on how to create a Super Office 365 PowerShell script to get connected to all four PowerShell services in a single PowerShell session with Office 365 Education.

What PowerShell options do I have for Office 365?

You have four remote PowerShell options to help administer your Office 365 tenant:

  • Azure Active Directory PowerShell
  • Exchange Online PowerShell
  • SharePoint Online PowerShell
  • Lync Online PowerShell

    What do I need to do to get everything setup?

    You will need to configure all four Office 365 Online PowerShell sessions as shown below:

    Azure Active Directory PowerShell

    1) Setup Azure AD PowerShell first:

    See instructions here you will need to install Sign In Assistant and the 32 or 64 bit Azure AD PowerShell module. After those two steps are completed:

    Add these two lines to your super PowerShell script:

    $msolcred = get-credential
    connect-msolservice -credential $msolcred


    Exchange Online PowerShell (EOP powershell also)

    Good news here is you don’t need to install anything to make Exchange Online PowerShell or  Exchange Online Protection PowerShell run.

    Just add two lines in your Super Office 365 Powershell script:

    $ExSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $msolcred -Authentication Basic –AllowRedirection

    Import-PSSession $ExSession


    SharePoint Online PowerShell

    You need to download and install the SharePoint Online PowerShell module here.

    You can just add this to your super powershell script:

    Connect-SPOService -Url –credential $msolcred

    note: you need to put in the specific tenant name in place of ‘contoso’ in the script.

    More on SharePoint Online powershell setup and list of cmdlets here.

    Lync Online

    Install the Lync Online PowerShell module here and run.


    Add these two lines to your super powershell script:

    $lyncsession=New-CsOnlineSession –credential $msolcred

    Import-PSSession $lyncsession

    See more info here.

    See list of Lync Online cmdlets here.

    Note: Reboot after you install all of these modules. The script won't work if you don't reboot first.

    Is there a sample script you can use to get everything in one?

    Yes, follow the steps below (be sure to change ‘yourtenantname’ to your tenant name):

    0. Open local PowerShell with ‘Run As Administrator’ and run Set-ExecutionPolicy RemoteSigned. This is required to allow the running of local .PS1 files within your powershell.

    1. Grab sample Super PowerShell for Office 365 snippet I put together below:

    $msolcred = get-credential
    connect-msolservice -credential $msolcred
    $ExSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $msolCred -Authentication Basic -AllowRedirection
    Import-PSSession $ExSession
    $lyncsession = New-CsOnlineSession -Credential $msolcred
    Import-PSSession $lyncsession
    Connect-SPOService -Url -credential $msolcred

    2. Save code as connect.ps1 or whatever

    3. Create a shortcut to launch this such as:
    powershell.exe –noexit c:\path\connect.ps1
    and pin it to the taskbar for quick access
    4. Launch your shortcut and login with Tenant Admin credentials:
    4. To make sure the Super PowerShell script worked, verify you can run the following cmdlets within your single PowerShell session:
    Get-msoluser (Azure AD) PowerShell:
    Get-mailbox (Exchange Online PowerShell):
    Get-CSactiveuserreport (Lync Online PowerShell):
    Get-SPOactiveuserreport (SharePoint Online PowerShell):
    Comments (3)

    1. Ed (DareDevil57) says:


    2. Anonymous says:

      I was asked by several customers what are some of the new SKU names they can use and where can they find

    3. Christa says:

      Very nice! Only comment is that it should include closing sessions as needed (i.e. for exchange, Lync) and possibly the disconnect from the SharePoint online service.

    Skip to main content