Cuando crea un nuevo usuario en un dominio de Active Directory, a veces debe convertirlo en miembro de una gran cantidad de grupos. Es bastante tedioso agregar un usuario a los grupos manualmente a través de la consola ADUC, por lo que es más fácil copiar la pertenencia al grupo de un usuario a otro usando un script de PowerShell. También es conveniente cuando un empleado deja el departamento de su empresa y debe asignar a un nuevo empleado los mismos grupos de seguridad AD.
Supongamos que necesita copiar la pertenencia al grupo del usuario jsanti y agregue una nueva cuenta de usuario (a.adams) a los mismos grupos.
Obtenga la lista de grupos del usuario de origen mediante el cmdlet Get-ADUser:
$getusergroups = Get-ADUser –Identity jsanti -Properties memberof | Select-Object -ExpandProperty memberof
Para agregar un nuevo usuario a los mismos grupos, basta con enviar la lista de grupos al cmdlet Add-ADGroupMember a través de una tubería:
$getusergroups | Add-ADGroupMember -Members a.adams -verbose
Luego, asegúrese de que se haya agregado correctamente un nuevo usuario a los mismos grupos que el usuario de origen:
Get-ADUser -Identity a.adams -Properties memberof | Select-Object -ExpandProperty memberof
Puedes usar el Get-ADPrincipalGroupMembership cmdlet genérico para copiar la pertenencia a un grupo de cualquier objeto de AD (usuario, equipo o grupo).
$userSource= “jsanti"
$userTarget=”a.adams”
$sourceGroups = Get-ADPrincipalGroupMembership -Identity $userSource
Add-ADPrincipalGroupMembership -Identity $userTarget -MemberOf $sourceGroups
Puede usar un script de PowerShell que escribe automáticamente un archivo de registro de texto que contiene la información sobre cómo agregar un usuario a los grupos:
$logfile="c:LOGCopyAdGroup.log"
$userSource= “jsanti"
$userTarget=”a.adams”
$Time = Get-Date
Add-content $logfile -value $Time -Encoding UTF8
Add-content $logfile -value "_______________"
Add-content $logfile -value "Copying AD groups from $userSource to $userTarget" -Encoding UTF8
$sourceGroups = (Get-ADPrincipalGroupMembership -Identity $userSource).SamAccountName
foreach ($group in $sourceGroups)
{
Add-content $logfile -value "Adding $userTarget to $group" -Encoding UTF8
try
{
$log=Add-ADPrincipalGroupMembership -Identity $userTarget -MemberOf $group
Add-content $logfile -value $log -Encoding UTF8
}
catch
{
Add-content $logfile $($Error[0].Exception.Message) -Encoding UTF8
Continue
}
}
Add-content $logfile -value "_______________"

Otra tarea popular es copiar todos los usuarios de un grupo de dominio a otro. Para hacerlo, puede usar este comando de PowerShell:
Get-ADGroupMember "LA-GPO-Admins" | ForEach-Object {Add-ADGroupMember "LA-Server-Admins" -Members $_ }
Puede utilizar otras formas de agregar automáticamente un usuario a los grupos de AD según su posición u otro atributo de usuario especificado en AD. El siguiente artículo proporciona un ejemplo de creación de grupos dinámicos de Active Directory.





