SharePoint Online: cambiar los permisos de usuario mediante PowerShell
Requisito: Editar permisos de usuario en SharePoint Online.
¿Cómo cambiar los permisos de usuario en el sitio de SharePoint Online?
Quiere cambiar el permiso del usuario en un sitio/biblioteca/elemento en particular en SharePoint Online. Por ejemplo, una vez que se ha completado un proyecto en particular, ya no desea que el miembro del equipo agregue o edite los documentos de respaldo del proyecto, ¡sino que solo los vea! SharePoint proporciona una manera flexible de administrar los cambios de permisos de usuarios o grupos. A continuación se explica cómo actualizar los permisos de usuario en SharePoint Online.
- Para editar los permisos del sitio para un usuario, navegue hasta el sitio de SharePoint Online al que el usuario tiene acceso. Haga clic en el engranaje de Configuración y luego en Configuración del sitio.
- En la página Configuración del sitio, haga clic en el enlace "Permisos del sitio" en el grupo Usuarios y permisos.
En la página de permisos del sitio, seleccione la casilla de verificación junto al usuario cuyos permisos desea editar. Haga clic en el botón "Editar permisos de usuario" de la cinta.
Seleccione y desmarque las casillas de permisos relevantes. En este caso, debes desmarcar “Editar” y marcar “Leer”. Haga clic en Aceptar para guardar los cambios.
Tenga en cuenta que si el sitio o la biblioteca hereda permisos del padre, es posible que deba dejar de heredar permisos para otorgar un permiso único al elemento.
Editar permisos de usuario en SharePoint Online usando PowerShell:
Programemos la tarea anterior de editar los permisos de usuario. Elimine "Editar" y agregue el permiso "Leer" al usuario a nivel de sitio.
#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"
#Variables for Processing
$SiteURL = "https://crescent.sharepoint.com/Sites/marketing"
$UserAccount="i:0#.f|membership|Salaudeen@crescent.com"
$PermissionToRemove="Edit"
$PermissionToAdd="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 all Users of the site
$Users = $Ctx.Web.SiteUsers
$Ctx.Load($Users)
$Ctx.ExecuteQuery()
#Get user accounts
$UserAccounts = $Users | Select -ExpandProperty LoginName
#Check if the given user exists in the site
If($UserAccounts -Contains $UserAccount)
{
#Get the User
$User = $ctx.Web.SiteUsers.GetByLoginName($UserAccount)
#Get Permission Levels to add and remove
$RoleDefToAdd = $Ctx.web.RoleDefinitions.GetByName($PermissionToAdd)
$RoleDefToRemove = $Ctx.web.RoleDefinitions.GetByName($PermissionToRemove)
#Get the User's role assignment on the web
$RoleAssignment = $Ctx.web.RoleAssignments.GetByPrincipal($User)
#Add/remove permission levels to the role assignment
$RoleAssignment.RoleDefinitionBindings.Add($RoleDefToAdd)
$RoleAssignment.RoleDefinitionBindings.Remove($RoleDefToRemove)
$RoleAssignment.Update()
$Ctx.ExecuteQuery()
write-host -f Green "User permissions updated Successfully!"
}
else
{
Write-host -f Yellow "User Doesn't exist in the site!"
}
}
Catch {
write-host -f Red "Error Updating User Permissions!" $_.Exception.Message
}
PnP PowerShell para cambiar los permisos de usuario en una lista
Aquí está el PnP PowerShell para eliminar los permisos de "Contribuir" y agregar permisos de "Lectura" a un usuario en una lista:
#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/Retail"
$ListName = "Invoices"
$UserID = "Steve@Crescent.com"
#Remove Contribution Role
Set-PnPListPermission -Identity $ListName -User $UserID -RemoveRole "Contribute"
#Grant Read Role
Set-PnPListPermission -Identity $ListName -User $UserID -AddRole "Read"
Para agregar o eliminar el nivel de permiso a un grupo de SharePoint Online usando PowerShell, use: Cambiar el nivel de permiso del grupo de SharePoint con PowerShell

