¿Cómo utilizar RunWithElevatedPrivileges en scripts de PowerShell para SharePoint?
Usamos el método RunWithElevatedPrivileges para hacerse pasar por la cuenta del sistema (identidad del grupo de aplicaciones), a la que se le otorgan derechos de acceso de control COMPLETO a través de la política de usuario de la aplicación web. A continuación se muestra un ejemplo del uso de RunwithElevatedPrivileges con PowerShell:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
[Microsoft.SharePoint.SPSecurity]::RunWithElevatedPrivileges(
{
#Define the parameter values: Site collection URL and user account to remove
$siteURL = "https://sharepoint.crescent.com/sites/sales"
$userAccount = "crescent\Salaudeen"
#Get the RootWeb
$web= Get-SPWeb $siteURL
#Get the user acount - If doesn't exists ADD
$user = $web.EnsureUser($userAccount)
#Make the user as Site collection Admin
$user.IsSiteAdmin = $true
$user.Update()
#Print a message
Write-host "User: $($userAccount) has been added as site collection administrator!"
}
)
Este ejemplo de PowerShell utiliza la ejecución con privilegios elevados en SharePoint para agregar un nuevo administrador de colección de sitios.