How to Add User to SharePoint Group using PowerShell?

Requirement: Add User to SharePoint Group using PowerShell

How to add a user to group in SharePoint 2013?
From the SharePoint site, you can follow the below steps to add a user to a particular group.
  • Go to your SharePoint site and click on Site Settings gear icon >> Select "Site settings"
  • Click on "People and groups" link under "Users and Permissions"
  • Click on the SharePoint user group to which you want to add users, such as "Marketing Members"
  • Click on "New" button >> and select "Add Users".
    sharepoint group add user powershell
  • Enter the names of the users to add. Make sure all your entries are resolved.
  • Click on the "Share" button to complete adding a user to the SharePoint group.
    sharepoint powershell add user to group
The users you have entered are now part of the SharePoint group! By default, new users receive an email notification. We can customize the email message text. Also, we can choose not to send an email by clicking Show Options and clearing the Send an email invitation checkbox.

Add User to SharePoint group with PowerShell
There are two cmdlets provided by SharePoint to add a user to a group using PowerShell.

New-SPUser
New-SPUser cmdlet adds an existing active directory (or whatever authentication provider) to SharePoint to the appropriate group specified.
New-SPUser -UserAlias "domain\user" -Web "http://sharepoint.crescent.com/sites/marketing" -Group "Marketing Owners"
This will add a new User to SharePoint site to the particular group. If you execute this command for the next time, (without deleting the user from site collection) this command has no effect!

Set-SPUser:
Set-SPUser cmdlet adds an existing SharePoint user to an existing group on the given site.
Set-SPUser -Identity "domain\user" -Web "http://sharepoint.crescent.com/sites/marketing" -Group "Marketing Owners"
This will add the existing SharePoint user's account to the provided group but will give an error when you try to add a new user to the SharePoint site. (which is obvious! We can't set the user property, if the user doesn't exist in SharePoint site, isn't it?)

Add User to SharePoint Group using PowerShell Script
Other than New-SPUser and Set-SPUser cmdlets, let's use the native object model APIs to add a user to a group in SharePoint using PowerShell.
#Get the Web
$web=Get-SPWeb "http://sharepoint.crescent.com/sites/marketing"
#Get the SharePoint Group
$Group= $web.Groups["Marketing Owners"]
$userName = "domain\userName"

#Add User to the site collection
$user = $web.EnsureUser($UserName)

#Add User to the Group
$group.AddUser($user) 

web.group vs web.sitegroup - SPWeb.Group refers to the groups which are used in the specified SPWeb object (If SPWeb uses unique permissions). Whereas SPWeb.SiteGroups refers to a collection of all groups in the site collection.

4 comments:

Please Login and comment to get your questions answered!

Powered by Blogger.