Creating SharePoint group programmatically

Creating SharePoint group programmatically is quite easy.

First call web.SiteGroups.Add to create group:

SPWeb web = SPContext.Current.Web;
web.AllowUnsafeUpdates = true;
web.SiteGroups.Add("MyTestGroup", web.CurrentUser, web.CurrentUser, string.Empty);

Then you probably want to give some permissions to group (let’s try to provide contributor role)

SPGroup group = web.SiteGroups["MyTestGroup"];
SPRoleDefinition roleDefinition = web.RoleDefinitions.GetByType(SPRoleType.Contributor);
SPRoleAssignment roleAssigment = new SPRoleAssignment(group);
roleAssigment.RoleDefinitionBindings.Add(roleDefinition);
web.RoleAssignments.Add(roleAssigment);
web.Update();

Now you can add some users to your new group:

SPUser spUser = web.EnsureUser("local\\User1");
group.Users.Add(spUser.LoginName, spUser.Email, spUser.Name, spUser.Notes);
web.AllowUnsafeUpdates = false;

And don’t forget to turn off unsafe update at the end

Written by

2 Comments to “Creating SharePoint group programmatically”

  1. Anonymous says:

    I believe
    SPRoleAssignment roleAssigment = new SPRoleAssignment(principal);
    should be
    SPRoleAssignment roleAssigment = new SPRoleAssignment(group);

  2. Ivan Vagunin says:

    You are absolutely right! Thanks. Fixed that.

Leave a Reply

Message

*