SharePoint Online: deshabilite las solicitudes de acceso para todos los sitios mediante PowerShell
Requisito: Deshabilitar las solicitudes de acceso a sitios de SharePoint Online.
¿Cómo deshabilitar las solicitudes de acceso en SharePoint Online?
Es posible que desee deshabilitar las solicitudes de acceso en SharePoint Online en escenarios específicos. Podemos desactivar la capacidad de que las personas soliciten acceso a su sitio de SharePoint Online, ya sea desde la configuración del sitio o mediante PowerShell. En esta publicación de blog, explicaremos cómo usar PowerShell para deshabilitar (o habilitar) las solicitudes de acceso de los usuarios en SharePoint Online. ¡Empecemos!
Para deshabilitar las solicitudes de acceso a un sitio de SharePoint Online, haga lo siguiente:
- Vaya al sitio de SharePoint Online donde desea deshabilitar las solicitudes de acceso.
- Haga clic en el ícono de ajustes de Configuración en la esquina superior derecha y seleccione "Permisos del sitio" en el menú desplegable.
En el panel Permisos del sitio, haga clic en el enlace "Cambiar cómo los miembros pueden compartir" en "Compartir sitio".
-
Cambie la configuración de "Solicitud de acceso" a "DESACTIVADO" deslizando el botón al lado.
- Haga clic en el botón "Guardar" para confirmar sus cambios.
¡Eso es todo! Hemos desactivado las solicitudes de acceso a su sitio. Esto significa que los usuarios no podrán solicitar acceso a los recursos si no tienen permiso. De manera similar, en sitios clásicos de SharePoint (¡y también en sitios modernos!), siga estos pasos para desactivar las solicitudes de acceso.
- Haga clic en el engranaje de Configuración >> Permisos del sitio >> Configuración de solicitudes de acceso.
Esto lo llevará a la página de configuración de solicitud de acceso a SharePoint Online del sitio. Desmarque la casilla de verificación "Permitir solicitudes de acceso" y haga clic en Aceptar para guardar los cambios.
Esto deshabilita las solicitudes de acceso para el sitio específico. Sin embargo, la configuración de la solicitud de acceso tiene como ámbito cada sitio donde los usuarios tienen permisos únicos. Por lo tanto, si su subsitio utiliza permisos únicos, debe repetir el paso anterior para cada subsitio de su colección de sitios (¡o cada subsitio del inquilino!). Automaticemos estos pasos para deshabilitar las solicitudes de acceso para la colección de sitios y los niveles de inquilino.
SharePoint Online: deshabilitar la solicitud de acceso mediante PowerShell
Usando PnP PowerShell, deshabilitemos las solicitudes de acceso para una colección de sitios de SharePoint Online determinada.
#Parameter
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
#Function to disable access request on SharePoint Online Web
Function Disable-PnPAccessRequest
{
[cmdletbinding()]
Param(
[parameter(Mandatory = $true, ValueFromPipeline = $True)] $Web
)
Try {
Write-host -f Yellow "Disabling Access Request on:"$web.Url
If($Web.HasUniqueRoleAssignments)
{
#Disable Access Request
$Web.RequestAccessEmail = [string]::Empty
$Web.SetUseAccessRequestDefaultAndUpdate($False)
$Web.Update()
Invoke-PnPQuery
Write-host -f Green "`tAccess Request has been Disabled!"$web.Url
}
else
{
Write-host -f Yellow "`tWeb inherits permissions from the parent!"$web.Url
}
}
Catch {
write-host "`tError Disabling Access Request: $($_.Exception.Message)" -foregroundcolor Red
}
}
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
#Call the Function for all webs
Get-PnPSubWeb -IncludeRootWeb -Recurse -Includes HasUniqueRoleAssignments | ForEach-Object { Disable-PnPAccessRequest $_ }
¿Qué tal deshabilitar las solicitudes de acceso para todos los sitios del inquilino?
PowerShell para deshabilitar la solicitud de acceso para todos los sitios del inquilino
Permítame mostrarle cómo automatizar la desactivación de solicitudes de acceso en todos los sitios de SharePoint Online en el inquilino. Este script de PowerShell recorre cada sitio en el inquilino y desactiva las solicitudes de acceso si el sitio usa permisos únicos:
#Parameter
$TenantAdminURL = "https://Crescent-Admin.SharePoint.com"
#Function to disable access request on SharePoint Online Web
Function Disable-PnPAccessRequest
{
[cmdletbinding()]
Param(
[parameter(Mandatory = $true, ValueFromPipeline = $True)] $Web
)
Try {
Write-host -f Yellow "Disabling Access Request on:"$web.Url
If($Web.HasUniqueRoleAssignments)
{
#Disable Access Request
$Web.RequestAccessEmail = [string]::Empty
$Web.SetUseAccessRequestDefaultAndUpdate($False)
$Web.Update()
Invoke-PnPQuery
Write-host -f Green "`tAccess Request has been Disabled!"$web.Url
}
else
{
Write-host -f Yellow "`tWeb inherits permissions from the parent!"$web.Url
}
}
Catch {
write-host "`tError Disabling Access Request: $($_.Exception.Message)" -foregroundcolor Red
}
}
#Connect to Admin Center
$Cred = Get-Credential
Connect-PnPOnline -Url $TenantAdminURL -Credentials $Cred
#Get All Site collections - Exclude: Seach Center, Mysite Host, App Catalog, Content Type Hub, eDiscovery and Bot Sites
$SitesCollections = Get-PnPTenantSite | Where -Property Template -NotIn ("SRCHCEN#0", "REDIRECTSITE#0", "SPSMSITEHOST#0", "APPCATALOG#0", "POINTPUBLISHINGHUB#0", "EDISC#0", "STS#-1")
#Loop through each site collection
ForEach($Site in $SitesCollections)
{
#Connect to site collection
Connect-PnPOnline -Url $Site.Url -Credentials $Cred
#Call the Function for all webs
Get-PnPSubWeb -IncludeRootWeb -Recurse -Includes HasUniqueRoleAssignments | ForEach-Object { Disable-PnPAccessRequest $_ }
}
¡Asegúrese de tener acceso a todos los sitios de su inquilino antes de ejecutar este script! De lo contrario, puede recibir errores de "Acceso denegado" o "401 no autorizado". Una vez que se desactivan las solicitudes de acceso, los usuarios que no tengan acceso al sitio verán esta página,
en lugar de:
Conclusión
En conclusión, deshabilitar las solicitudes de acceso en SharePoint Online es un proceso simple que puede realizar un administrador de SharePoint. Al deshabilitar las solicitudes de acceso, los usuarios ya no podrán solicitar acceso a un sitio o biblioteca de documentos. En cambio, el administrador deberá otorgar acceso manualmente a los usuarios. Esto puede resultar útil en situaciones en las que la organización quiere tener un control más estricto sobre quién tiene acceso a determinado contenido. Deshabilitar las solicitudes de acceso también elimina la necesidad de monitorear y aprobar constantemente las solicitudes de acceso, lo que puede ahorrar tiempo y recursos al administrador.




