Ce script de réinitialisation des droits sur une bibliothèque SharePoint est relativement simple. Il permet de restaurer les droits tels qu’ils sont à la création d’une bibliothèque dans SharePoint.
Pour qu’il fonctionne, quelques variables sont nécessaires :
- $SiteURL : l’url du site SharePoint sur lequel le script doit s’appliquer
- $ClientID : l’ID de l’application dans ENTRA qui permet d’identifier le traitement du script
- $ListName : le nom de la bibliothèque ou le nom de la liste sur lequel les droits doivent être réinitialisés
Voici le script en question PowerShell de réinitialisation des droits :
#Définition des variables
$SiteURL = "URL_DU_SITE_SHAREPOINT"
$ClientID = "Ma clé d'application d'entreprise"
#Connexion à SharePoint
Connect-PnPOnline -Url $siteUrl -Interactive -ClientId $ClientID
#Librairie dont les droits doivent être réinitialisés
$ListName = "NOM_DE_LA_BIBLIOTHEQUE_A_REINITIALISER"
#On parcourt les éléments de la bibliothèque.par groupe de 500 entrées
$ListItems = Get-PnPListItem -List $ListName -PageSize 500
#Boucle sur l'ensemble des éléments
ForEach($ListItem in $ListItems)
{
#Vérification des permissions uniques
$HasUniquePermissions = Get-PnPProperty -ClientObject $ListItem -Property "HasUniqueRoleAssignments"
If($HasUniquePermissions)
{
$Msg = "Suppression des perms. uniques sur {0} '{1}' à {2} " -f $ListItem.FileSystemObjectType,$ListItem.FieldValues["FileLeafRef"],$ListItem.FieldValues["FileRef"]
Write-host $Msg
#Suppression des permissions uniques
Set-PnPListItemPermission -List $ListName -Identity $ListItem.ID -InheritPermissions
}
}
