Cómo solucionar que los permisos únicos reaparezcan después de restablecer una biblioteca
🔍 WiseChecker

Cómo solucionar que los permisos únicos reaparezcan después de restablecer una biblioteca

Usted restablece una biblioteca de SharePoint para heredar permisos de su sitio principal, pero la biblioteca muestra permisos únicos nuevamente en minutos u horas. Este problema ocurre cuando los elementos de la biblioteca, como carpetas o archivos, tienen sus propias interrupciones de permisos que no se eliminan durante el restablecimiento. Este artículo explica por qué sucede esto y proporciona una solución completa para eliminar permanentemente los permisos únicos de todos los elementos de la biblioteca.

Puntos clave: Restablecer los permisos de la biblioteca de forma permanente

  • Configuración de la biblioteca > Permisos para esta biblioteca de documentos: Muestra el estado de herencia actual de la propia biblioteca.
  • Interrupciones de permisos a nivel de elemento: Los archivos o carpetas individuales con permisos únicos hacen que la biblioteca informe permisos únicos después de un restablecimiento.
  • Script de PowerShell para eliminar todos los permisos únicos: El único método confiable para borrar los permisos rotos en cada elemento de una biblioteca.

ADVERTISEMENT

Por qué reaparecen los permisos únicos después de restablecer una biblioteca

Cuando restablece una biblioteca para heredar permisos de su sitio principal, SharePoint elimina la interrupción de permisos solo de la raíz de la biblioteca. Cualquier archivo, carpeta o subcarpeta dentro de la biblioteca que tuviera sus propios permisos únicos permanece con la interrupción. SharePoint entonces informa que la biblioteca tiene permisos únicos porque esos elementos secundarios aún existen con herencia rota.

Esta condición ocurre con mayor frecuencia cuando los usuarios o procesos automatizados han establecido previamente permisos únicos en elementos individuales. La operación de restablecimiento de la biblioteca no se propaga a los objetos secundarios. Para resolverlo por completo, debe eliminar las interrupciones de permisos de cada elemento dentro de la biblioteca.

Cómo funciona la herencia de permisos en SharePoint

SharePoint utiliza un modelo de permisos jerárquico. La raíz de la colección de sitios tiene un conjunto de permisos. De forma predeterminada, cada sitio, biblioteca, carpeta y archivo hereda los permisos del nivel superior. Cuando interrumpe la herencia en una biblioteca, puede asignar permisos únicos solo a esa biblioteca. Si luego interrumpe la herencia en un archivo dentro de la biblioteca, ese archivo tiene sus propios permisos separados de la biblioteca. Restablecer la biblioteca para que herede del sitio no corrige automáticamente la herencia rota en ese archivo.

Pasos para eliminar permanentemente los permisos únicos de una biblioteca

Para solucionar el problema por completo, debe eliminar las interrupciones de permisos de cada elemento dentro de la biblioteca. Utilice uno de los siguientes métodos.

Método 1: Usar SharePoint PowerShell para restablecer todos los permisos de los elementos

  1. Instalar y conectar SharePoint Online Management Shell
    Abra Windows PowerShell como administrador. Ejecute Install-Module -Name Microsoft.Online.SharePoint.PowerShell si el módulo no está instalado. Luego ejecute Connect-SPOService -Url https://yourtenant-admin.sharepoint.com e inicie sesión con una cuenta de administrador de SharePoint.
  2. Obtener la URL del sitio y de la biblioteca
    Identifique la URL del sitio (por ejemplo, https://yourtenant.sharepoint.com/sites/sales) y el nombre de la biblioteca (por ejemplo, Documentos compartidos).
  3. Ejecutar el script de PowerShell para restablecer todos los permisos de los elementos
    Pegue y ejecute el siguiente script, reemplazando la URL del sitio y el nombre de la biblioteca con sus propios valores:
    $siteUrl = "https://yourtenant.sharepoint.com/sites/sales"
    $libraryName = "Shared Documents"
    $web = Get-SPOSite $siteUrl | Get-SPOWeb
    $list = $web.Lists[$libraryName]
    foreach ($item in $list.Items) {
    if ($item.HasUniqueRoleAssignments) {
    $item.ResetRoleInheritance()
    $item.Update()
    }
    }
    Write-Host "Done"
  4. Verificar el estado de herencia de la biblioteca
    Vaya a la biblioteca en SharePoint. Haga clic en el icono de engranaje y seleccione Configuración de la biblioteca. En Permisos y administración, haga clic en Permisos para esta biblioteca de documentos. La página debe mostrar que esta biblioteca hereda permisos de su sitio principal.

Método 2: Usar SharePoint Designer para restablecer permisos en masa

  1. Abrir el sitio en SharePoint Designer 2013
    Inicie SharePoint Designer 2013 y abra el sitio que contiene la biblioteca.
  2. Navegar a la biblioteca
    En el panel de navegación izquierdo, haga clic en Listas y bibliotecas. Seleccione la biblioteca que tiene el problema de permisos.
  3. Editar los permisos de los elementos de la lista
    Haga clic en Configuración de la lista. En Permisos y administración, haga clic en Permisos para esta biblioteca de documentos. Si la biblioteca muestra permisos únicos, haga clic en Heredar permisos. Esto restablece la raíz de la biblioteca. Luego haga clic en Todos los elementos para ver todos los elementos. Seleccione todos los elementos, haga clic con el botón derecho y elija Restablecer herencia de roles. Esto elimina los permisos únicos de cada elemento seleccionado.
  4. Guardar y verificar
    Guarde los cambios. Actualice la página de permisos de la biblioteca para confirmar que la herencia muestra Heredado del elemento principal.

Método 3: Restablecimiento manual para bibliotecas pequeñas

  1. Abrir la biblioteca y cambiar a la vista clásica
    En la biblioteca, haga clic en el icono de engranaje y seleccione Configuración de la biblioteca. En Permisos y administración, haga clic en Permisos para esta biblioteca de documentos. Si la biblioteca muestra permisos únicos, haga clic en Heredar permisos.
  2. Revisar cada carpeta y archivo
    Explore cada carpeta y subcarpeta de la biblioteca. Para cada elemento, haga clic en los puntos suspensivos (tres puntos) y seleccione Administrar acceso. Si el elemento muestra un vínculo que dice Dejar de heredar permisos, actualmente hereda. Si muestra un vínculo que dice Heredar permisos, haga clic en él para restablecer el elemento y que herede de la biblioteca.
  3. Repetir para todos los elementos
    Restablezca manualmente cada elemento que tenga la herencia rota. Este método solo es práctico para bibliotecas con menos de 20 elementos.

ADVERTISEMENT

Si los permisos únicos aún reaparecen después de la solución principal

La biblioteca de SharePoint muestra permisos únicos después del script de PowerShell

Si el script de PowerShell se ejecuta sin errores pero la biblioteca aún muestra permisos únicos, es posible que se hayan omitido uno o más elementos. El script anterior solo procesa los elementos en la raíz de la biblioteca, no los elementos dentro de las subcarpetas. Para solucionar esto, modifique el script para iterar por todas las carpetas de forma recursiva:

  1. Usar un script de PowerShell recursivo
    Ejecute el siguiente script que procesa todos los elementos en todas las subcarpetas:
    function Reset-AllItems($folder) {
    foreach ($item in $folder.Items) {
    if ($item.HasUniqueRoleAssignments) {
    $item.ResetRoleInheritance()
    $item.Update()
    }
    }
    foreach ($subFolder in $folder.SubFolders) {
    Reset-AllItems($subFolder)
    }
    }
    $rootFolder = $list.RootFolder
    Reset-AllItems($rootFolder)

Los permisos únicos vuelven después de que un usuario mueve un archivo con permisos rotos

Cuando un usuario mueve un archivo desde otra biblioteca o sitio a la biblioteca restablecida, ese archivo puede conservar sus propios permisos únicos. La biblioteca entonces muestra permisos únicos nuevamente. Para evitarlo, capacite a los usuarios para copiar archivos en lugar de moverlos. Como alternativa, ejecute el script de PowerShell recursivo semanalmente para limpiar cualquier elemento roto nuevo.

El restablecimiento de permisos no funciona para bibliotecas grandes

SharePoint Online tiene una limitación de recursos que restringe la cantidad de elementos que puede actualizar en una sola ejecución de script. Para bibliotecas con más de 5.000 elementos, ejecute el script en lotes de 1.000 elementos. Agregue una pausa entre lotes usando Start-Sleep -Seconds 5.

Restablecimiento manual vs restablecimiento con PowerShell: diferencias clave

Elemento Restablecimiento manual (interfaz de SharePoint) Restablecimiento con PowerShell
Alcance Solo la raíz de la biblioteca Todos los elementos, incluidas las subcarpetas
Tiempo requerido Minutos para bibliotecas pequeñas Minutos para bibliotecas grandes
Manejo de errores Verificación manual de cada elemento Omisión automática de elementos sin permisos rotos
Requiere derechos de administrador de SharePoint No Sí
Puede manejar más de 5.000 elementos No Sí, con procesamiento por lotes

Después de completar el restablecimiento, verifique la herencia de la biblioteca yendo a Configuración de la biblioteca > Permisos para esta biblioteca de documentos. La página debe mostrar Esta biblioteca de documentos hereda permisos de su sitio principal. Si necesita evitar futuras interrupciones, considere crear una política de permisos de colección de sitios que restrinja a los usuarios interrumpir la herencia de permisos en elementos por debajo del nivel de la biblioteca.

ADVERTISEMENT