Get all users and groups in SharePoint 2013/2016 using PowerShell

This PowerShell SharePoint tutorial, we will discuss how to get all users and group names in SharePoint 2013/2016 using PowerShell.

I was working on a project where a user wants to remediate the user permissions in SharePoint by deleting all the users added individually / directly by replacing them with AD user groups in the SharePoint site collection and sub sites iteratively.

In general, owners add users directly in SharePoint with their account name but this will be a major issue when we plan for migration from one version to another. This also causes the problem of hanging resigned or old users in SharePoint.

SharePoint get all users and groups PowerShell

I have implemented the below PowerShell script to list all the users across the site collections to list all the users with their group names iteratively.

try
{
#List all the Users with their Group name, Site name iteratively
$objSiteColl = Get-SPSite "http://sharepoint13:12345/" #Provide Site Collection URL
"Site Name`tGroup Name`tUser Name"
foreach ($objWeb in $objSiteColl.AllWebs)
{
    write-host -foregroundcolor yellow "`nWorking on web:" $objWeb.Title
    foreach ($objGrp in $objWeb.groups)
    {
        #"Group: " + $objGrp.name;
        $grpName = $objGrp.name
        write-host "`nGroup Name: " $grpName  -foregroundcolor green
        foreach ($objUser in $objGrp.users)
        {
            $objWeb.Title + "`t" + $objGrp.name +"`t"+ $objUser.name
            write-host "Login-ID:: " $objUser.UserLogin  -foregroundcolor red
        }
    }
}
}

catch{
Write-Host "`nError:: $($_.Exception.Message)" -foregroundcolor red -BackgroundColor Yellow
}

How do we execute this PowerShell script?

You can execute this script by following the below steps:

  • Log on to SharePoint WFE
  • Run SharePoint PowerShell IDE as administrator [Read a PowerShell tutorial on Windows PowerShell ISE]
  • Run the script with one of the 2 ways:
  • .\listAllUsers.ps1 | Out-File output.txt -> this will generate an output file with tab delimiter
  • .\listAllUsers.ps1

OutPut:

sharepoint get all users and groups powershell
sharepoint get all users and groups powershell
Get all users and groups in SharePoint 2013/2016 using PowerShell
Get all users and groups in SharePoint 2013/2016 using PowerShell

You may like following PowerShell SharePoint tutorials:

Hope this SharePoint tutorial explains, how to get all users and groups using PowerShell in SharePoint 2013/2016.

free sharepoint training

SharePoint Online FREE Training

JOIN a FREE SharePoint Video Course (3 Part Video Series)

envelope
envelope

Krishna Vandanapu

I am Krishna.Vandanapu a SharePoint architect working in IT from last 13+ years, I worked in SharePoint 2007, 2010, 2013, 2016 and Office 365. I have extensive hands on experience in customizing SharePoint sites from end to end. Expertise in SharePoint migration tools like Sharegate, Doc Ave and Metalogix. Migrated SharePoint sites from SharePoint 2007 to 2010 and 2010 to 2013 several times seamlessly. Implementing CSOM with Microsoft best practices. Spent quality time in configuring SharePoint application services like User Profile, Search, Managed Meta data services etc. Now exploring SharePoint Framework and SharePoint 2019

>