SharePoint Online: conceder permisos de carpeta desde un archivo CSV mediante PowerShell
Requisito: Establecer permisos para varias carpetas desde un archivo CSV en SharePoint Online.
PowerShell para configurar permisos de carpeta de forma masiva desde un archivo CSV en SharePoint Online
Puede establecer permisos de carpeta en la biblioteca de documentos de SharePoint Online utilizando la interfaz del navegador web o PowerShell. En este artículo, veamos cómo usar PowerShell para establecer permisos en varias carpetas en SharePoint Online desde un archivo CSV. Esto puede resultar útil si necesita otorgar acceso rápido a usuarios específicos a un conjunto de carpetas. Esta guía mostrará cómo configurar permisos de carpeta en SharePoint Online desde un archivo CSV usando PowerShell.
Tenemos una lista de carpetas en las bibliotecas de SharePoint Online y queríamos otorgar permisos en carpetas específicas con usuarios específicos. Aquí está mi archivo CSV:
Aquí está el script de PowerShell para configurar permisos de carpeta desde un CSV:
#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
$CSVFile = "C:\Temp\FolderPermissions.csv"
Try {
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
#Get the CSV file
$CSVData = Import-CSV $CSVFile
#Read CSV file and grant folder permissions
ForEach($Row in $CSVData)
{
Try {
#Get the Folder
$Folder = Get-PnPFolder -Url $Row.FolderServerRelativeURL -Includes ListItemAllFields.ParentList -ErrorAction Stop
$List = $Folder.ListItemAllFields.ParentList
#Get Users
$Users = $Row.Users -split ";"
ForEach($User in $Users)
{
#Grant Permission to the Folder
Set-PnPFolderPermission -List $List -Identity $Folder.ServerRelativeUrl -User $User.Trim() -AddRole $Row.Permission -ErrorAction Stop
Write-host -f Green "Ensured Permissions on Folder '$($Row.FolderServerRelativeURL)' to '$($User.Trim())'"
}
}
Catch {
Write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
}
}
Catch {
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
Tenga en cuenta que este script agrega permiso a los permisos existentes en las carpetas. Si desea borrar todos los permisos existentes y otorgar solo los permisos otorgados desde el CSV, use el interruptor "-ClearExisting" en el cmdlet Set-PnPFolderPermission.
En caso de que desee otorgar permiso a grupos de SharePoint en lugar de a una cuenta de usuario, utilice lo siguiente:
Set-PnPFolderPermission -List $ListName -identity $SubFolder.ServerRelativeURL -AddRole "Edit" -Group "Marketing Members"
Conclusión
En conclusión, otorgar permisos de carpeta en SharePoint Online puede llevar mucho tiempo y ser repetitivo si se hace manualmente. Sin embargo, al utilizar un archivo CSV y PowerShell, puede otorgar permisos de carpeta a varios usuarios de forma masiva y automatizar el proceso para otorgar permisos de carpeta a varios usuarios en solo unos minutos. Con el script proporcionado en este artículo, puede automatizar el proceso, ahorrar tiempo y recursos, y garantizar que los permisos se apliquen de forma coherente y precisa.
