Engineering · Common · Sitecore

Remove Sitecore users in bulk

Sometimes we need to clear out old users, or all users in a specific domain. We can do this from the Sitecore User Manager by removing them one by one, but with a large number of users that becomes tedious. Instead, we can remove Sitecore users in bulk with a PowerShell or SQL script.

A PowerShell script should be the first choice:

Get-User -Filter * | Where-Object {$_.Profile.Email -like "*@gmail.com"} | Remove-User

A SQL script is the second option:

Select UserId Into #TempUserList
From [www-s9-uat7-xp1_Core].[dbo].[aspnet_Membership]
Where Email Like '%@gmail.com'

Delete From [www-s9-uat7-xp1_Core].[dbo].[aspnet_UsersInRoles]
Where UserId in (Select UserId From #TempUserList)

Delete From [www-s9-uat7-xp1_Core].[dbo].[aspnet_Membership]
Where UserId in (Select UserId From #TempUserList)

Delete From [www-s9-uat7-xp1_Core].[dbo].[aspnet_PersonalizationPerUser]
Where UserId in (Select UserId From #TempUserList)

Delete From [www-s9-uat7-xp1_Core].[dbo].[aspnet_Profile]
Where UserId in (Select UserId From #TempUserList)

Delete FROM [www-s9-uat7-xp1_Core].[dbo].[aspnet_Users]
Where UserId in (Select UserId From #TempUserList)