magritton
1/15/2016 - 6:49 PM

This function breaks role inheritance in a website and then add groups to the website setting permissions for each group.

This function breaks role inheritance in a website and then add groups to the website setting permissions for each group.

function setPermissions($NewGroup,$PermissionLevel,$web)
{
    Write-Host "Setting " $PermissionLevel " for " $NewGroup  " in "  $web.Name -ForegroundColor DarkRed -BackgroundColor White
    #Assign Permissions to the Group
    $group = $web.SiteGroups[$NewGroup]
    $GroupAssignment = new-object Microsoft.SharePoint.SPRoleAssignment($group)

    #Get Full Control Role (Permission Level)
    $GroupRoleDefinition = $topSite.Site.RootWeb.RoleDefinitions[$PermissionLevel]
     
        #Bind Full Control
    $GroupAssignment.RoleDefinitionBindings.Add($GroupRoleDefinition)
 
    #Grant Full control to the Web
    $topSite.RoleAssignments.Add($GroupAssignment)

}
$topSite.Update()
$topSite = Get-SPWeb http://scushp01/Management/BM
$topSite.BreakRoleInheritance($false)
$topSite.Update()

$NewMembers = "Management Board Meetings Members"
$NewVisitors = "Executive Management Visitors"
$NewEditors = "Executive Management Editors"
$NewDesigners = "Executive Management Designers"
$NewOwners = "TheSound Owners"

setPermissions $NewMembers "Contribute" $topSite
setPermissions $NewVisitors "Read" $topSite 
setPermissions $NewEditors "Edit" $topSite 
setPermissions $NewDesigners "Design" $topSite
setPermissions $NewOwners "Full Control" $topSite
function setPermissions($NewGroup,$PermissionLevel,$web)
{
    #Assign Permissions to the Group
    $group = $web.SiteGroups[$NewGroup]
    $GroupAssignment = new-object Microsoft.SharePoint.SPRoleAssignment($group)

    #Get Full Control Role (Permission Level)
    $GroupRoleDefinition = $topSite.Site.RootWeb.RoleDefinitions[$PermissionLevel]
     
        #Bind Full Control
    $GroupAssignment.RoleDefinitionBindings.Add($GroupRoleDefinition)
 
    #Grant Full control to the Web
    $topSite.RoleAssignments.Add($GroupAssignment)

}

$topSite = Get-SPWeb http://scushp01/Branches/Auburn
$topSite.BreakRoleInheritance($false)

$NewMembers = "Auburn Members"
$NewVisitors = "Auburn Visitors"
$NewEditors = "Auburn Editors"
$NewDesigners = "Auburn Designers"
$NewDesigners = "TheSound Owners"
setPermissions $NewMembers "Contribute" $topSite
setPermissions $NewVisitors "Read" $topSite 
setPermissions $NewEditors "Edit" $topSite 
setPermissions $NewDesigners "Design" $topSite