SharePoint Online: conceder permiso a una lista o biblioteca mediante PowerShell
Requisito: Proporcionar permiso a una biblioteca de documentos en SharePoint Online.
¿Cómo compartir una biblioteca de documentos en SharePoint Online?
En ocasiones, es posible que desee otorgar permisos a nivel de lista o biblioteca a usuarios y grupos en SharePoint Online. Por ejemplo, es posible que desee proporcionar acceso de lectura a nivel de sitio y derechos de edición a nivel de lista individual. Entonces, para otorgar permisos a listas y bibliotecas, como primer paso, debemos dejar de heredar permisos de su padre y luego aplicar permisos de seguridad únicos a cualquier nivel debajo de la colección de sitios, como Subsitio, Lista, Biblioteca o elementos de lista.
¿Cómo otorgar acceso a una lista o biblioteca en SharePoint Online?
¿Cómo comparto una biblioteca de documentos en SharePoint Online? A continuación se explica cómo otorgar permiso a una biblioteca de documentos en SharePoint Online:
- Vaya a la lista de destino o a la configuración de la biblioteca (desde la página de la biblioteca, haga clic en la pestaña Biblioteca en la cinta >> Seleccione la configuración de la lista. Si la interfaz de usuario moderna está habilitada, diríjase a Conexión del sitio y haga clic en configuración en el menú contextual de la lista)
- En la página Configuración de lista, haga clic en el enlace "Permisos para esta lista" en el grupo de permisos y administración.
- En la página de permisos, si la lista hereda permisos del padre, tenemos que romper la herencia de permisos. Haga clic en el botón "Dejar de heredar permisos".
- Ahora, desde la cinta, haga clic en el botón "Otorgar permisos" del grupo Conceder.
Ingrese nombres o direcciones de correo electrónico en el cuadro de diálogo Compartir en el cuadro de texto designado.
- Haga clic en el botón Mostrar opciones y especifique la opción de invitación por correo electrónico y el nivel de permiso apropiado, como editar.
- Haga clic en Compartir.
Esto proporciona permiso a un usuario determinado en la lista o biblioteca seleccionada. El mismo procedimiento se aplica para otorgar acceso a listas, bibliotecas y elementos individuales en SharePoint Online.
SharePoint Online: PowerShell para otorgar permisos de lista o biblioteca a un usuario o grupo
Los permisos de lista se pueden manipular con PowerShell. Este es el script de PowerShell típico para establecer permisos de SharePoint Online: Este script otorga permiso a un grupo de SharePoint existente para la lista proporcionada.
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Configuration Parameters
$SiteURL= "https://crescent.sharepoint.com/sites/Projects/"
$ListName="Project Documents"
$GroupName="Project Members"
$PermissionLevel="Read"
#Setup Credentials to connect
$Cred = Get-Credential
$Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
Try {
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = $Cred
#Get the web and List
$Web=$Ctx.Web
$List=$web.Lists.GetByTitle($ListName)
#Break Permission inheritence - keep existing list permissions & Item level permissions
$List.BreakRoleInheritance($True,$True)
$Ctx.ExecuteQuery()
Write-host -f Yellow "Permission inheritance broken..."
#Get the group or user
$Group =$Web.SiteGroups.GetByName($GroupName) #For User: $Web.EnsureUser('salaudeen@crescent.com')
$Ctx.load($Group)
$Ctx.ExecuteQuery()
#Grant permission to Group
#Get the role required
$Role = $web.RoleDefinitions.GetByName($PermissionLevel)
$RoleDB = New-Object Microsoft.SharePoint.Client.RoleDefinitionBindingCollection($Ctx)
$RoleDB.Add($Role)
#Assign list permissions to the group
$Permissions = $List.RoleAssignments.Add($Group,$RoleDB)
$List.Update()
$Ctx.ExecuteQuery()
Write-Host "Added $PermissionLevel permission to $GroupName group in $ListName list. " -foregroundcolor Green
}
Catch {
write-host -f Red "Error Granting Permissions!" $_.Exception.Message
}
También podemos configurar permisos de la biblioteca de documentos en SharePoint Online usando PnP PowerShell. Si desea otorgar permiso a un nuevo grupo AD/grupo de Office 365, use lo siguiente:
#Config Variables
$GroupName ="Global@crescent.com" #Or Group ID
#Resolve the Group
$Group = $Web.EnsureUser($GroupName)
$Ctx.load($Group)
$Ctx.ExecuteQuery()
SharePoint Online: agregar permiso a la lista mediante PnP PowerShell
Usemos el cmdlet PnP PowerShell Set-PnPListPermission para agregar permisos a la lista de SharePoint Online.
#Config Variables
$SiteURL = "https://Crescent.sharepoint.com/sites/Marketing"
$ListName ="Projects"
$UserID="Peter@TheCrescentTech.com"
$GroupName = "Marketing Members"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)
#Break Permission Inheritance of the List
Set-PnPList -Identity $ListName -BreakRoleInheritance -CopyRoleAssignments
#Grant permission on List to User
Set-PnPListPermission -Identity $ListName -AddRole "Edit" -User $UserID
#Grant permission on list to Group
Set-PnPListPermission -Identity $ListName -AddRole "Read" -Group $GroupName
De manera similar, puedes usar este PowerShell para asignar permisos a un grupo de la lista:
Set-PnPGroupPermissions -Identity $GroupName -List ListName -AddRole Contribute
Para eliminar un usuario o grupo de los permisos de la lista: SharePoint Online: eliminar usuarios o grupos de los permisos de la lista mediante PowerShell
Conceder acceso a la lista a usuarios externos que utilizan Powershell
Utilice el script de PowerShell para establecer permisos en una lista o biblioteca de documentos de SharePoint Online para usuarios externos. Asegúrese de tener habilitado el uso compartido externo en los niveles de inquilino y colección de sitios.
#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/retail"
$ListName ="Invoices"
$UserID="Mikewagan@gmail.com"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
#Break Permission Inheritance of the List
Set-PnPList -Identity $ListName -BreakRoleInheritance -CopyRoleAssignments
#Grant permission on List to External User
Set-PnPListPermission -Identity $ListName -AddRole "Edit" -User $UserID
Preguntas frecuentes:
¿Cómo dar permiso a un subsitio en SharePoint Online?
Romper la herencia de permisos del subsitio si hereda permisos de su sitio principal. Una vez hecho esto, puede otorgar acceso al subsitio desde: Configuración >> enlace Permisos del sitio. Más información: ¿Cómo otorgar acceso a un subsitio en SharePoint Online?
¿Cómo doy acceso al sitio de SharePoint Online?
Navegue a su sitio de SharePoint Online >> haga clic en el engranaje “Configuración” >> Haga clic en “Permisos del sitio” >> Permisos avanzados. En la página de permisos avanzados, seleccione el grupo relevante, como "
Más información: Conceder acceso al sitio de SharePoint Online
