Búsqueda de sitios web

Copie usuarios de un grupo de SharePoint a otro usando PowerShell


Recientemente, tuve el requisito de copiar usuarios de un grupo de SharePoint a otro grupo. Desafortunadamente, SharePoint no admite grupos anidados y simplemente cambiar el nombre del grupo no nos ayudó. Bueno, no existe una manera directa de copiar usuarios de un grupo a otro, pero sin tener que volver a escribir cada ID de usuario, puedes usar este truco para ahorrar tiempo al copiar y mover usuarios de SharePoint:

  • Vaya a Acciones del sitio >> Configuración del sitio
  • Haga clic en "Personas y grupos" en el grupo Usuarios y permisos.
  • Elija los usuarios necesarios del grupo de origen. Haga clic en "Usuarios de correo electrónico" en el menú "Acciones".

  • Esto inicia el cliente de correo electrónico predeterminado, como Outlook. Ahora puedes copiar esas identificaciones.
  • Dirígete al grupo Target SharePoint >> Agregue usuarios y pegue los ID copiados.

El método anterior podría ser relativamente más sencillo al copiar o mover algunos usuarios entre grupos de SharePoint. ¿No sería mejor utilizar la forma programada para copiar varios usuarios de forma masiva?

Secuencia de comandos de PowerShell para copiar/mover usuarios de un grupo de SharePoint a otro:


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Input variables
$WebURL = "https://sharepoint.crescent.com/sites/Operations/"
$SourceGroupName="Operations Members"
$TargetGroupName="Operations Owners"

#Get the Web
$web = Get-SPWeb $WebURL

#Get the Source and Target Groups
$SourceGroup = $web.groups | where {$_.name -eq $SourceGroupName }
$TargetGroup = $web.groups | where {$_.name -eq $TargetGroupName }

#Iterate through each users in the source group
foreach ($user in $SourceGroup.users)
{
    $TargetGroup.AddUser($user)
    Write-Host "Copied $user from $SourceGroup to $TargetGroup"
    #To move users, Just remove them from source group
    #$SourceGroup.RemoveUser($user)
}

Copie usuarios de una colección de sitios de SharePoint a otra usando PowerShell:

El script anterior copia usuarios entre grupos de SharePoint del mismo sitio. ¿Podemos copiar usuarios entre grupos en diferentes colecciones de sitios? ¿Por qué no? Cambiemos ligeramente el script anterior para copiar usuarios de un grupo de sitios de SharePoint a otro.


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Input variables
$SourceWebURL = "https://sharepoint.crescent.com/sites/Operations/"
$TargetWebURL = "https://sharepoint.crescent.com/sites/Marketing/"
$SourceGroupName="Operations Members"
$TargetGroupName="Marketing Members"

#Get the Webs
$SourceWeb = Get-SPWeb $SourceWebURL
$TargetWebURL= Get-SPWeb $TargetWebURL

#Get the Source and Target Groups
$SourceGroup = $SourceWeb.groups | where {$_.name -eq $SourceGroupName }
$TargetGroup = $TargetWebURL.groups | where {$_.name -eq $TargetGroupName }

#Iterate through each users in the source group
foreach ($user in $SourceGroup.users)
{
    $TargetGroup.AddUser($user)
    Write-Host "Copied $user from $SourceGroup to $TargetGroup"
    #To move users, Just remove them from source group
    #$SourceGroup.RemoveUser($user)
}

Artículos relacionados