Búsqueda de sitios web

Cree un grupo de SharePoint desde un grupo de Active Directory usando PowerShell


Requisito: ¡Convierta el grupo de Active Directory en un grupo de SharePoint!

Solución: Administrar usuarios de SharePoint en el grupo de seguridad de Active Directory y dentro de SharePoint también tiene sus ventajas y desventajas. Ahora, necesitamos migrar del grupo AD al grupo SharePoint. Entonces, usemos PowerShell para crear un nuevo grupo de SharePoint a partir del grupo de seguridad de Active Directory. Aquí está mi script de PowerShell:

Crear un grupo de SharePoint a partir de un grupo de Active Directory:

Si tiene un grupo de Active Directory existente, es posible que desee convertirlo en un grupo de SharePoint para eliminar la dependencia del Administrador de AD.


#Import Active directory & SharePoint PowerShell modules
Import-Module ActiveDirectory
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
  
#Variables for processing
$SiteURL="https://Intranet.crescent.com/"
$ADGroupName="SP13 Authors"
$SPGroupName="Content Authors"
$PermissionLevel="Full Control" #Permission to SPGroup
$Domain="Crescent" #AD Domain

#Get the Site collection's Root Web
$web = Get-SPWeb $SiteURL

#Check if Group Exists already
 if ($web.SiteGroups[$SPGroupName] -ne $null)  
 {  
  write-Host "Group Name Already in the site!!" -ForegroundColor Red 
 }  
 else  
 {  
  #Create New SharePoint Group
  $SPGroup = $web.SiteGroups.Add($SPGroupName, $web.Site.Owner, $web.Site.Owner, $null)
  #Get the newly created group and assign permission to it
  $SPGroup = $web.SiteGroups[$SPGroupName]  
  $RoleAssignment = new-object Microsoft.SharePoint.SPRoleAssignment($SPGroup)  
  $RoleDefinition = $web.RoleDefinitions[$PermissionLevel]  
  $RoleAssignment.RoleDefinitionBindings.Add($RoleDefinition)  
  $web.RoleAssignments.Add($RoleAssignment)  
  $web.Update()  
  Write-Host "New Group $SPGroupName has been created!" 
 
  #Get Members of AD Group
  $ADGroupMembers = Get-ADGroupMember -Identity $ADGroupName | Select-Object -ExpandProperty SamAccountName    
  Write-host "Total Users Found in the AD Group:"$ADGroupMembers.Count

  #Add Members to SPGroup from ADGroup
  $ADGroupMembers | ForEach-Object {
     #Convert to Domain\User format
     $UserID =  "$Domain\$_" 
     #Get Claims ID. E.g. Domain\User to i:0#.w|Domain\User
     $UserClaimsID = (New-SPClaimsPrincipal -identity $UserID -IdentityType "WindowsSamAccountName").ToEncodedString() 
     $SPGroup.Users.Add($UserClaimsID,"", "", "") 
     Write-host "User Added from AD Group to SharePoint Group:" $UserClaimsID
  }  
 }

Módulo PowerShell de Active Directory:
Debe tener un “módulo de Active Directory para Windows PowerShell” en los servidores miembros de Windows Server 2008/2012. Utilice este cmdlet de PowerShell para agregar esta característica:


Add-WindowsFeature RSAT-AD-PowerShell 

Alternativamente, puede ir a: Administrador del servidor >> Agregar funciones y características >> Elegir “Módulo de Active Directory para Windows PowerShell” en Herramientas de administración remota del servidor.

Artículos relacionados