Búsqueda de sitios web

SharePoint Online: permitir a los miembros editar la membresía del grupo usando PowerShell


Requisito: Configurar el grupo de SharePoint Online para administrar la membresía por miembros del grupo.

¿Cómo permitir que los miembros del grupo administren el grupo?

Microsoft SharePoint Online Groups ofrece una forma sencilla de administrar los usuarios y sus membresías. Como administrador, puede agregar o eliminar miembros o delegar permisos para que los miembros existentes del grupo puedan invitar a otras personas al grupo. Esta guía le mostrará cómo configurar quién puede administrar las membresías de grupos en SharePoint Online.

Siga estos pasos para cambiar la configuración de grupo de un grupo en SharePoint Online.

  1. Vaya a Configuración del sitio >> Haga clic en el enlace "Personas y grupos".
  2. Elija el grupo que desea cambiar la configuración del grupo desde la navegación izquierda.
  3. Desde la página del grupo, haga clic en Configuración >> Configuración del grupo en la barra de herramientas.
  4. En Configuración del grupo, para "¿Quién puede editar la membresía del grupo?", configure la opción "Miembros del grupo".

  5. Haga clic en "Aceptar" para guardar los cambios.

Con estos cambios, los miembros del grupo podrán agregar o eliminar otros miembros del grupo. Esta puede ser una característica útil para organizaciones que desean permitir que los miembros de un grupo administren la membresía del grupo sin requerir acceso administrativo a la colección de sitios.

PowerShell para actualizar la configuración del grupo y permitir que los miembros administren el grupo:

Exploremos cómo permitir que los miembros editen la membresía del grupo usando PowerShell. A continuación se explica cómo automatizar la configuración del grupo anterior:


#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"
    
#Config Parameters
$SiteURL= "https://crescent.sharepoint.com/sites/marketing"
 
#Setup Credentials to connect
$Cred = Get-Credential
  
Try {
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
    
    #Get All Groups of the Site
    $SiteGroups = $Ctx.web.SiteGroups
    $Ctx.Load($SiteGroups)
    $Ctx.ExecuteQuery()
 
    #Iterate through each Group - Exclude SharePoint Online System Groups!
    ForEach($Group in $SiteGroups | Where {$_.OwnerTitle -ne "System Account"})
    {
        #Update Group Settings: Who can edit the membership of the group? to Grop Members
        $Group.AllowMembersEditMembership = $True
        $Group.Update()
        $Ctx.ExecuteQuery()
        Write-host -f Green "Group Settings for '$($Group.Title)' Updated to Edit Membership by Group Members!"
    }    
}
Catch {
    write-host -f Red "Error Updating Group Settings!" $_.Exception.Message
}

PnP PowerShell para cambiar la configuración del grupo:

Para cambiar la configuración de un grupo para permitir que los miembros del grupo editen la membresía del grupo usando PnP PowerShell, use:


#Variable
$SiteURL= "https://crescent.sharepoint.com/sites/marketing"
$GroupName ="Marketing Team Site Owners"

#Connect to PnP Online
Connect-PnPOnline $SiteURL -Credentials (Get-Credential)

#Set Group Settings
Set-PnPGroup -Identity $GroupName -AllowMembersEditMembership $True

Para actualizar la configuración de grupo para todos los grupos de una colección de sitios, utilice lo siguiente:


#Variable
$SiteURL= "https://crescent.sharepoint.com/sites/marketing"

#Connect to PnP Online
Connect-PnPOnline $SiteURL -Credentials (Get-Credential)

#Get All Groups of the Site collection
$SiteGroups = Get-PnPGroup -Includes AllowMembersEditMembership

ForEach($Group in $SiteGroups)
{
    If($Group.AllowMembersEditMembership -ne $True)
    {
        Set-PnPGroup -Identity $Group -AllowMembersEditMembership $True
        Write-host -f Green "Group Settings for '$($Group.Title)' Updated to Edit Membership by Group Members"
    }
}

De manera similar, para configurar las opciones de grupo para todas las colecciones de sitios en el inquilino, use el siguiente script:


#Variable
$AdminCenterURL = "https://crescent-admin.sharepoint.com"

#Get Credential to connect 
$Cred = Get-Credential

#Connect to Admin Center
Connect-PnPOnline $SiteURL -Credentials $Cred

#Get All Site Collections - Exclude: Mysite Host, App Catalog, eDiscovery and Bot catalog Sites
$Sites = Get-PnPTenantSite -Detailed | Where { $_.Template -ne "SPSMSITEHOST#0" -and $_.Template -ne "STS#-1" -and $_.Template -ne "APPCATALOG#0" -and $_.Template -ne "EDISC#0"}
Write-host "Total Number of Sites:"$Sites.Count

ForEach($Site in $Sites)
{
    Try {
        #Connect to Site collection
        Write-host -f Yellow "Processing Site Collection:"$Site.URL
        Connect-PnPOnline $Site.URL -Credentials $Cred

        #Get All Groups of the Site collection - Exclude SharePoint Online System Groups!
        $SiteGroups = Get-PnPGroup -Includes AllowMembersEditMembership | Where {$_.OwnerTitle -ne "System Account"}
        ForEach($Group in $SiteGroups)
        {
            If($Group.AllowMembersEditMembership -ne $True)
            {
                Set-PnPGroup -Identity $Group -AllowMembersEditMembership $True
                Write-host -f Green "`tGroup Settings for '$($Group.Title)' Updated to Edit Membership by Group Members"
            }
        }
    }
    Catch {
        write-host -f Red "`tError Getting Site Collection!" $_.Exception.Message
   }
}

En resumen, al permitir que los miembros editen la membresía del grupo usando PowerShell, las organizaciones pueden mejorar la colaboración y el trabajo en equipo al agilizar el proceso de agregar y eliminar miembros de los grupos. También puede delegar responsabilidades de gestión de grupos a los miembros, lo que reduce la carga de trabajo de los administradores y les permite centrarse en tareas más críticas.

Artículos relacionados