Below code to be used in powershell file
function createSiteGroups($groupName,$groupOwner,$groupDescription,$permissionLevel,$users)
{
Write-Host -foreground "green" "Creating Sharepoint group -" $groupName
$web.SiteGroups.Add($groupName, $groupOwner, $groupOwner, $groupDescription)
$Group = $web.SiteGroups[$groupName]
$Group.AllowMembersEditMembership = $true
$Group.Update()
Write-Host -foreground "green" "Creating role assignment for the group -" $groupName
$GroupAssignment = new-object Microsoft.SharePoint.SPRoleAssignment($Group)
#Get the permission levels to apply to the new groups
$RoleDefinition = $web.Site.RootWeb.RoleDefinitions[$permissionLevel]
#Assign the groups the appropriate permission level
$GroupAssignment.RoleDefinitionBindings.Add($RoleDefinition)
#Add the group to the site with the permission level
$web.RoleAssignments.Add($GroupAssignment)
Write-Host -foreground "green" "Creation of group and role assignment completed successfully for the group -" $groupName
#Adding users to the group
Write-Host -foreground "green" "Adding users to the group -" $groupName
$arrayUsers = $users.split(",")
foreach($user in $arrayUsers)
{
if($user -ne "")
{
$adUser = $web.Site.RootWeb.EnsureUser($user)
$Group.AddUser($adUser)
}
}
}
You can call the function as below
#Creating Sharepoint security Groups
#create group "Group1 "
$groupName = "Group1"
$groupOwner = $web.Site.Owner
$groupDescription = "test Group"
$permissionLevel = "Full Control"
$users = "domain\user1,Domain\user2"
createSiteGroups $groupName $groupOwner $groupDescription $permissionLevel $users
function createSiteGroups($groupName,$groupOwner,$groupDescription,$permissionLevel,$users)
{
Write-Host -foreground "green" "Creating Sharepoint group -" $groupName
$web.SiteGroups.Add($groupName, $groupOwner, $groupOwner, $groupDescription)
$Group = $web.SiteGroups[$groupName]
$Group.AllowMembersEditMembership = $true
$Group.Update()
Write-Host -foreground "green" "Creating role assignment for the group -" $groupName
$GroupAssignment = new-object Microsoft.SharePoint.SPRoleAssignment($Group)
#Get the permission levels to apply to the new groups
$RoleDefinition = $web.Site.RootWeb.RoleDefinitions[$permissionLevel]
#Assign the groups the appropriate permission level
$GroupAssignment.RoleDefinitionBindings.Add($RoleDefinition)
#Add the group to the site with the permission level
$web.RoleAssignments.Add($GroupAssignment)
Write-Host -foreground "green" "Creation of group and role assignment completed successfully for the group -" $groupName
#Adding users to the group
Write-Host -foreground "green" "Adding users to the group -" $groupName
$arrayUsers = $users.split(",")
foreach($user in $arrayUsers)
{
if($user -ne "")
{
$adUser = $web.Site.RootWeb.EnsureUser($user)
$Group.AddUser($adUser)
}
}
}
You can call the function as below
#Creating Sharepoint security Groups
#create group "Group1 "
$groupName = "Group1"
$groupOwner = $web.Site.Owner
$groupDescription = "test Group"
$permissionLevel = "Full Control"
$users = "domain\user1,Domain\user2"
createSiteGroups $groupName $groupOwner $groupDescription $permissionLevel $users
No comments:
Post a Comment