Manage SharePoint Online site groups with Office 365 PowerShell

Summary: Use Office 365 PowerShell to manage SharePoint Online site groups.

Although you can use the Microsoft 365 admin center, you can also use Office 365 PowerShell to manage your SharePoint Online site groups.

Before you begin

The procedures in this article require you to connect to SharePoint Online. For instructions, see Connect to SharePoint Online PowerShell.

View SharePoint Online with Office 365 PowerShell

The SharePoint Online admin center has some easy-to-use methods for managing site groups. For example, suppose you want to look at the groups, and the group members, for the https://litwareinc.sharepoint.com/sites/finance site. Here’s what you have to do to:

  1. From the Microsoft 365 admin center, click Resources > Sites, and then click the URL of the site.
  2. In the site collection dialog box, click Go to this site.
  3. On the site page, click the Settings icon (located in the upper right-hand corner of the page) and then click Site settings:
    SharePoint Online site settings
  4. On the Site Settings page, click Sites permissions under Users and Permissions.

And then repeat the process for the next site you want to look at.

To get a list of the groups with Office 365 PowerShell, you would use the following command set:

$siteURL = "https://litwareinc.sharepoint.com/sites/finance"
$x = Get-SPOSiteGroup -Site $siteURL
foreach ($y in $x)
    {
        Write-Host $y.Title -ForegroundColor "Yellow"
        Get-SPOSiteGroup -Site $siteURL -Group $y.Title | Select-Object -ExpandProperty Users
        Write-Host
    }

There are two ways to run this command set in the SharePoint Online Management Shell command prompt:

  • Copy the commands into Notepad (or another text editor), modify the value of the $siteURL variable, select the commands, and then paste them into the SharePoint Online Management Shell command prompt. When you do, PowerShell will stop at a >> prompt. Press Enter to execute the foreach command.
  • Copy the commands into Notepad (or another text editor), modify the value of the $siteURL variable, and then save this text file with a name and the .ps1 extension in a suitable folder. Next, run the script from the SharePoint Online Management Shell command prompt by specifying its path and file name. Here is an example command:
C:\Scripts\SiteGroupsAndUsers.ps1

In both cases, you should see something similar to this:

SharePoint Online site groups

These are all the groups that have been created for the site https://litwareinc.sharepoint.com/sites/finance, and all the users assigned to those groups. The group names are in yellow to help you separate group names from their members.

As another example, here is a command set that lists the groups, and all the group memberships, for all of your SharePoint Online sites.

$x = Get-SPOSite
foreach ($y in $x)
    {
        Write-Host $y.Url -ForegroundColor "Yellow"
        $z = Get-SPOSiteGroup -Site $y.Url
        foreach ($a in $z)
            {
                 $b = Get-SPOSiteGroup -Site $y.Url -Group $a.Title 
                 Write-Host $b.Title -ForegroundColor "Cyan"
                 $b | Select-Object -ExpandProperty Users
                 Write-Host
            }
    }

See also

Connect to SharePoint Online PowerShell

Create SharePoint Online sites and add users with Office 365 PowerShell

Manage SharePoint Online users and groups with Office 365 PowerShell

Manage Office 365 with Office 365 PowerShell

Getting started with Office 365 PowerShell