Hace un par de días me pidieron ayuda para copiar los grupos de seguridad de un usuario a un nuevo usuario, si bien es cierto que podemos realizar esta tarea de forma manual, aveces una simple línea de código nos puede ahorrar este trabajo, esto viene a ayudar cuando el nuevo usuario pertenece al mismo departamento del usuario que tiene los grupos que queremos copiar.
Hay algo que se debe de tomar en cuenta antes de realizar esto, deben de estar cocientes de que el usuario con los grupos que pertenecen al departamento puede que tenga accesos adicionales los cuales fueron previamente autorizados, digamos que tiene acceso a archivos compartidos por que es parte de algún proyecto, etc etc… esto es por lo que deben de tener cuidado al copiar los grupos en su totalidad, si este no es el caso, entonces el siguiente script puede ser de mucha ayuda.
Tomemos como ejemplo el usuario iojeda, este es un nuevo usuario que formará parte de sistemas y igual que mi usuario, quiero que forme parte de los grupos a los cuales yo pertenezco, para ello ejecutamos la siguiente línea de código.
Get-ADUser -Identity Sojeda -Properties memberof | Select-Object -ExpandProperty memberof | Add-ADGroupMember -Members iojeda
Ahora, veamos que hace exactamente está línea de código
1.- En la primer parte me interesa saber todos los grupos a los que pertenece el usuario Sojeda, para ello llamo la propiedad memberof
2.- En esta parte solo me interesa obtener los grupos a los que pertenece el usuario, por lo que selecciono el objeto memeberof
3.- Por último por cada grupo al que mi usuario pertenece, agregaré un miembro, en este caso será el nuevo usuario que acabo de crear.
Nota: el carácter | conecta un comando con otro, por lo que cada pipeline envía los resultados del comando anterior al comando siguiente.
Como podemos observar después de ejecutar el comando se han agregado todos los grupos del usuario sojeda al nuevo usuario iojeda.