Resumiendo paso a paso como funciona:
1. Ejecutar el script con los parámetros que establecen que grupo de distribución queremos afectar y que grupo debe ser propietario de este:
Set-DistributionGroupOwners.ps1 –DistributionGroup “nombre de grupo” –GroupOwner “grupo que contiene a los delegados”
En este punto lo que hace el script es setear en el CustomAttribute5 el DN (Distinguished Name) del grupo que contendría a los propietarios. Para verificar esto ejecutar lo siguiente:
Get-DistributionGroup “nombre de grupo modificado” | FT CustomAttribute5
El script aun no modificó el atributo en cuestión, simplemente esta utilizando un campo auxiliar para a futuro expandir la membresía del grupo definido como propietario. Este paso es requerimiento para cada grupo que quiera administrar con este script.
2. Ejecutar el script con el parámetro que define el grupo de distribución a modificar:
Set-DistributionGroupOwners.ps1 –DistributionGroup “nombre de grupo”
En este punto el script lo que hace es expandir la membresía del grupo de delegados establecido en el CustomAttribute5 y setearlos de forma individual en el campo de “Managedby”.
Para validar esto ejecutar el siguiente comando:
Get-DistributionGroup “nombre de grupo modificado” | FL ManagedBy,CustomAttribute5
Bien, entonces definimos el grupo cuyos miembros queremos que sean propietarios del grupo a delegar, ejecutamos el script para que modifique el atributo “managedby” y validamos que se encuentren listadas las cuentas individuales, estaría funcionando, correcto?
Ahora el tema es el mantenimiento de este atributo en base a los cambios que eventualmente podría sufrir la membresía del grupo de los delegados en cuestión.
Para esto el script tiene otra función. Si lo ejecutamos sin incluir parámetros adicionales lo que hace es buscar los grupos de distribución en la organización con el custom attribute definido con un DN. En base a esto, actualiza el campo de ManagedBy con los miembros del grupo. En mi lab tengo 2 grupos con el customattribute5 con un DN, por lo que si corro el script sin parámetros devuelve lo siguiente:
En conclusión, una vez preparado el ambiente podría correr manualmente el script cuando hayan cambios de membresía o idealmente agendar la ejecución para que por ejemplo corra 2 veces al día de tal forma de automatizar el proceso de mantenimiento.
Por último les dejo el link al artículo del blog del equipo de Exchange con más info sobre el tema:
Deja una respuesta