How to Install / Update / Uninstall SharePoint Online PowerShell Module?

Requirement: Install SharePoint Online PowerShell module.

The SharePoint Online PowerShell Module enables administrators to manage their SharePoint Online environments by using PowerShell cmdlets. The PowerShell module for SharePoint Online is a great way to manage and automate your SharePoint environment. You can use it to perform a wide range of tasks you typically do in the SharePoint Admin center, including creating and managing sites, lists and libraries, users and groups, fields, content, and more. This article will show you how to install the SharePoint Online PowerShell module.

SharePoint Online Management Shell is available as a module in PowerShell Gallery now! So, you can install it as a module directly from PowerShell instead of downloading and installing the MSI file! This makes it easier to update. Here is how to install the SharePoint Online PowerShell module:

Prerequisites: The Install-module cmdlet comes with the “PowerShellGet” module, which comes with Windows 10, Windows 2016, or later. In older operating systems, You can get it through Windows Management Framework (WMF) 5.1 or later.

How to find your SharePoint Online PowerShell version?

To get started, check if you have already installed the SharePoint Online Management Shell in your system by running the following command in the administrative mode in PowerShell:

Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select Name,Version

This finds your version of SharePoint Online PowerShell module installed.

How to Install SharePoint Online PowerShell Module?

How do I install SharePoint Online Management Shell from PowerShell? The SharePoint Online Management Shell is a Windows PowerShell module installed in your Windows client machine or Server. To install the PowerShell Module for SharePoint Online, Open PowerShell as Administrator and enter:

Install-Module Microsoft.Online.SharePoint.PowerShell

install sharepoint online powershell module
Confirm the prompt, and you’ll see the PowerShell module for SharePoint Online starts downloading and installing:

sharepoint online powershell module install

This installs the latest SharePoint Online PowerShell module from PowerShell Gallery and gives administrators the ability to manage the SharePoint Online environment using PowerShell cmdlets.

To re-install the SharePoint Online PowerShell module, use: -Force switch:

Install-Module Microsoft.Online.SharePoint.PowerShell -force

Please note, installing the PowerShell module for SharePoint Online doesn’t install “SharePoint Online Management Shell” on your PC. Still, you can run any SharePoint Online cmdlets directly in Windows PowerShell itself!

Let’s check If SharePoint Online PowerShell Module is installed. If not, install it.

#Check if SharePoint Online PowerShell module has been installed
Try {
    Write-host "Checking if SharePoint Online PowerShell Module is Installed..." -f Yellow -NoNewline
    $SharePointOnlineModule = Get-Module -ListAvailable "Microsoft.Online.SharePoint.PowerShell"

    #Check if SharePoint Online Module is installed
    If(!$SharePointOnlineModule)
    {
        Write-host "No!" -f Green

        #Check if script is executed under elevated user permissions - Run as Administrator
        If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
        {   
            Write-Host "Please Run this script in elevated mode (Run as Administrator)! " -NoNewline
            Read-Host "Press any key to continue"
            Exit
        }

        Write-host "Installing SharePoint Online PowerShell Module..." -f Yellow -NoNewline
        Install-Module "Microsoft.Online.SharePoint.PowerShell" -Force -Confirm:$False
        Write-host "Done!" -f Green
    }
    Else
    {
        Write-host "Yes!" -f Green
        #sharepoint online powershell module import
        Write-host "Importing SharePoint Online PowerShell Module..." -f Yellow  -NoNewline
        Import-Module "Microsoft.Online.SharePoint.PowerShell" -DisableNameChecking
        Write-host "Done!" -f Green
    }
}
Catch{
    write-host "Error: $($_.Exception.Message)" -foregroundcolor red
}

How do I connect SharePoint Online to PowerShell?

Once installed, You can connect to the SharePoint Online tenant from PowerShell and start using SharePoint Online PowerShell cmdlets.

  • Step 1: Import SharePoint Online PowerShell module
  • Step 2: Connect to SharePoint Online from PowerShell
  • Step 3: Run PowerShell cmdlets for SharePoint Online
#Import PowerShell module for SharePoint Online 
Import-Module Microsoft.Online.Sharepoint.PowerShell -DisableNameChecking

#Connect to SharePoint Online
Connect-SPOService -url "https://crescent-admin.sharepoint.com" -Credential (Get-Credential)

#Get All SharePoint Sites
Get-SPOSite

This PowerShell script prompts for username and password (You can leave the credential parameter to connect from Multifactor authentication – MFA enabled account), Connects to SharePoint Online, and gets all SharePoint Online sites using Get-SPOSite cmdlet. Make sure you change the site URL according to your environment. More on connecting to SharePoint Online from PowerShell: How to Connect to SharePoint Online from PowerShell?

Update SharePoint Online PowerShell module

How to update the SharePoint Online management shell? To update the SharePoint Online PowerShell Module, use the below command:

Update-module microsoft.online.sharepoint.powershell

Type “A” to confirm Yes to All and hit enter to update the PowerShell module for for SharePoint Online.

Update microsoft.online.sharepoint.powershell module

Uninstall SharePoint Online PowerShell Module

To remove the SharePoint Online PowerShell module, use the below cmdlets:

Uninstall-Module -Name Microsoft.Online.SharePoint.PowerShell

Use the “-AllVersions” switch if you have more than one version installed. Make sure you run these cmdlets as Administrator in the PowerShell console.

SharePoint Online PowerShell commands

Once you have the SharePoint Online PowerShell module installed, You can get a list of cmdlets from the module using:

Get-command -Module Microsoft.Online.SharePoint.PowerShell
Get-command -Module Microsoft.Online.SharePoint.PowerShell
Cmdlet Name
Add-SPOGeoAdministrator
Add-SPOHubSiteAssociation
Add-SPOHubToHubAssociation
Add-SPOOrgAssetsLibrary
Add-SPOSiteCollectionAppCatalog
Add-SPOSiteDesign
Add-SPOSiteDesignTask
Add-SPOSiteScript
Add-SPOSiteScriptPackage
Add-SPOTenantCdnOrigin
Add-SPOTheme
Add-SPOUser
Approve-SPOTenantServicePrincipalPermissionGrant
Approve-SPOTenantServicePrincipalPermissionRequest
Connect-SPOService
ConvertTo-SPOMigrationEncryptedPackage
ConvertTo-SPOMigrationTargetedPackage
Deny-SPOTenantServicePrincipalPermissionRequest
Disable-SPOTenantServicePrincipal
Disconnect-SPOService
Enable-SPOCommSite
Enable-SPOTenantServicePrincipal
Export-SPOQueryLogs
Export-SPOUserInfo
Export-SPOUserProfile
Get-IsCommSite
Get-SPOAppErrors
Get-SPOAppInfo
Get-SPOBrowserIdleSignOut
Get-SPOBuiltInDesignPackageVisibility
Get-SPOCrossGeoMovedUsers
Get-SPOCrossGeoMoveReport
Get-SPOCrossGeoUsers
Get-SPODataEncryptionPolicy
Get-SPODeletedSite
Get-SPOExternalUser
Get-SPOGeoAdministrator
Get-SPOGeoMoveCrossCompatibilityStatus
Get-SPOGeoStorageQuota
Get-SPOHideDefaultThemes
Get-SPOHomeSite
Get-SPOHubSite
Get-SPOKnowledgeHubSite
Get-SPOMigrationJobProgress
Get-SPOMigrationJobStatus
Get-SPOMultiGeoCompanyAllowedDataLocation
Get-SPOMultiGeoExperience
Get-SPOOrgAssetsLibrary
Get-SPOOrgNewsSite
Get-SPOPublicCdnOrigins
Get-SPOSite
Get-SPOSiteCollectionAppCatalogs
Get-SPOSiteContentMoveState
Get-SPOSiteDataEncryptionPolicy
Get-SPOSiteDesign
Get-SPOSiteDesignRights
Get-SPOSiteDesignRun
Get-SPOSiteDesignRunStatus
Get-SPOSiteDesignTask
Get-SPOSiteGroup
Get-SPOSiteRenameState
Get-SPOSiteScript
Get-SPOSiteScriptFromList
Get-SPOSiteScriptFromWeb
Get-SPOSiteUserInvitations
Get-SPOStorageEntity
Get-SPOStructuralNavigationCacheSiteState
Get-SPOStructuralNavigationCacheWebState
Get-SPOTenant
Get-SPOTenantCdnEnabled
Get-SPOTenantCdnOrigins
Get-SPOTenantCdnPolicies
Get-SPOTenantContentTypeReplicationParameters
Get-SPOTenantLogEntry
Get-SPOTenantLogLastAvailableTimeInUtc
Get-SPOTenantOrgRelation
Get-SPOTenantOrgRelationByPartner
Get-SPOTenantOrgRelationByScenario
Get-SPOTenantServicePrincipalPermissionGrants
Get-SPOTenantServicePrincipalPermissionRequests
Get-SPOTenantSyncClientRestriction
Get-SPOTenantTaxonomyReplicationParameters
Get-SPOTheme
Get-SPOUnifiedGroup
Get-SPOUnifiedGroupMoveState
Get-SPOUser
Get-SPOUserAndContentMoveState
Get-SPOUserOneDriveLocation
Get-SPOWebTemplate
Grant-SPOHubSiteRights
Grant-SPOSiteDesignRights
Invoke-SPOMigrationEncryptUploadSubmit
Invoke-SPOSiteDesign
Invoke-SPOSiteSwap
New-SPOMigrationEncryptionParameters
New-SPOMigrationPackage
New-SPOPublicCdnOrigin
New-SPOSdnProvider
New-SPOSite
New-SPOSiteGroup
New-SPOSiteSharingReportJob
New-SPOTenantOrgRelation
Register-SPODataEncryptionPolicy
Register-SPOHubSite
Remove-SPODeletedSite
Remove-SPOExternalUser
Remove-SPOGeoAdministrator
Remove-SPOHomeSite
Remove-SPOHubSiteAssociation
Remove-SPOHubToHubAssociation
Remove-SPOKnowledgeHubSite
Remove-SPOMigrationJob
Remove-SPOMultiGeoCompanyAllowedDataLocation
Remove-SPOOrgAssetsLibrary
Remove-SPOOrgNewsSite
Remove-SPOPublicCdnOrigin
Remove-SPOSdnProvider
Remove-SPOSite
Remove-SPOSiteCollectionAppCatalog
Remove-SPOSiteCollectionAppCatalogById
Remove-SPOSiteDesign
Remove-SPOSiteDesignTask
Remove-SPOSiteGroup
Remove-SPOSiteScript
Remove-SPOSiteSharingReportJob
Remove-SPOSiteUserInvitations
Remove-SPOStorageEntity
Remove-SPOTenantCdnOrigin
Remove-SPOTenantOrgRelation
Remove-SPOTenantSyncClientRestriction
Remove-SPOTheme
Remove-SPOUser
Remove-SPOUserInfo
Remove-SPOUserProfile
Repair-SPOSite
Request-SPOPersonalSite
Request-SPOUpgradeEvaluationSite
Restore-SPODataEncryptionPolicy
Restore-SPODeletedSite
Revoke-SPOHubSiteRights
Revoke-SPOSiteDesignRights
Revoke-SPOTenantServicePrincipalPermission
Revoke-SPOUserSession
Set-SPOBrowserIdleSignOut
Set-SPOBuiltInDesignPackageVisibility
Set-SPOGeoStorageQuota
Set-SPOHideDefaultThemes
Set-SPOHomeSite
Set-SPOHubSite
Set-SPOKnowledgeHubSite
Set-SPOMigrationPackageAzureSource
Set-SPOMultiGeoCompanyAllowedDataLocation
Set-SPOMultiGeoExperience
Set-SPOOrgAssetsLibrary
Set-SPOOrgNewsSite
Set-SPOSite
Set-SPOSiteDesign
Set-SPOSiteGroup
Set-SPOSiteOffice365Group
Set-SPOSiteScript
Set-SPOSiteScriptPackage
Set-SPOStorageEntity
Set-SPOStructuralNavigationCacheSiteState
Set-SPOStructuralNavigationCacheWebState
Set-SPOTenant
Set-SPOTenantCdnEnabled
Set-SPOTenantCdnPolicy
Set-SPOTenantContentTypeReplicationParameters
Set-SPOTenantSyncClientRestriction
Set-SPOTenantTaxonomyReplicationParameters
Set-SPOUnifiedGroup
Set-SPOUser
Set-SPOWebTheme
Start-SPOSiteContentMove
Start-SPOSiteRename
Start-SPOUnifiedGroupMove
Start-SPOUserAndContentMove
Stop-SPOSiteContentMove
Stop-SPOUserAndContentMove
Submit-SPOMigrationJob
Test-SPOSite
Unregister-SPOHubSite
Update-SPODataEncryptionPolicy
Update-UserType
Upgrade-SPOSite
Verify-SPOTenantOrgRelation

The client-side object model is a subset of the SharePoint Online PowerShell module (You don’t have to add a reference to CSOM assemblies if you import the SharePoint PowerShell module). The SharePoint PnP PowerShell cmdlets also add great value to this space. To install the SharePoint Online PnP PowerShell module, refer: Install SharePoint Online PnP PowerShell Module

How do I import a SharePoint Online PowerShell module?

Once the SharePoint Online PowerShell module is installed, use “Import-Module Microsoft.Online.Sharepoint.PowerShell -DisableNameChecking” to import the module to your PowerShell script.

How do I use SharePoint Online PnP PowerShell?

Once you have the PnP PowerShell module for SharePoint Online installed, You can connect with the SharePoint Online site (instead of the SharePoint Admin center) and use any available PowerShell cmdlets from the module.
More info: Install SharePoint Online PnP PowerShell Module

What version of SharePoint Online Management Shell do I have?

To find out the SharePoint Online PowerShell module version, use: “Get-Module Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select Name,Version”

Salaudeen Rajack

Salaudeen Rajack - SharePoint Expert with Two decades of SharePoint Experience. Love to Share my knowledge and experience with the SharePoint community, through real-time articles!

2 thoughts on “How to Install / Update / Uninstall SharePoint Online PowerShell Module?

  • WOW This is the best, most educational and useful site on SharePoint I’ve ever seen.

    THANKS!!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *