Utiliser PowerShell pour réinitialiser les droits d’une bibliothèque SharePoint
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
}
}