Archives du mot-clé permissions

Powershell – Suppression totale des permissions d’un site SharePoint


Le script ci dessous permet de :

  • supprimer toutes les permissions d’un site SharePoint donné
  • supprimer les permissions de ses sous sites
  • donner le contrôle total à un groupe AD donné
function AddADGroupToSite ($web, $groupName, $permLevel)
{   
	$adgroup = $web.EnsureUser($groupName)
    $assignment = New-Object Microsoft.SharePoint.SPRoleAssignment($adgroup)
    $role = $web.RoleDefinitions[$permLevel]
    $assignment.RoleDefinitionBindings.Add($role);
    $web.RoleAssignments.Add($assignment)
}

function RemoveAllPermissionsForWebAndSubWebs ($web, $groupname, $permlevel)
{	
	$web.BreakRoleInheritance($false)
	$raCol = $web.RoleAssignments	
	Write-Host "Removing permissions for " $web.Title
	for ($i = $raCol.Count - 1; $i -ge 0; $i--)
	{                   
		$raCol.Remove($i)                
	}  
	Write-Host "Permissions removed" -foregroundcolor "green"	
	
	if ($web.Webs.Count -gt 0)
	{		
		foreach ($subweb in $web.Webs)
		{
			Write-Host "Subweb" $subweb.Title
			RemoveAllPermissionsForWebAndSubWebs -web $subweb
			$subweb.Dispose
		}		
	}	
	AddGroupToSite -web $web -groupName $groupname -permLevel $permlevel
	$web.Dispose
}


# SITE 1 
$spWeb = Get-SPWeb "http://votresitecol/votresite"
RemoveAllPermissionsForWebAndSubWebs -web $spWeb -groupName "votregroupeAD" -permLevel "Contrôle total"