Inicio > Herramientas, Microsoft, Server > Modificar atributos masivamente en objetos de Directorio Activo

Modificar atributos masivamente en objetos de Directorio Activo

viernes, 26 de abril de 2013

Hola a todos,

Me han pedido que realice unos cambios en cerca de 3000 objetos usuarios de directorio activo, entre los que están:
1- Cambiar el estado del usuario a Deshabilitado
2- Modificar un atributo del usuario para ocultarlo de la Libreta de direcciones de Exchange.

El punto 1, basicamente, lo solucioné con un Script que consultaba los atributos LastLogonTimeStamp y LastLogon, y manualmente se deshabilitaban aquellos que eran usuarios no genéricos, que tienen nomenclatura similar los usuario normales.

Para saber estos usuarios, desde la consola de administración de Directorio Activo, se ha realizado una búsqueda personalizada en la cual se indica que los atributos LastLogonTimeStamp sea vacío (nunca ha realizado logon en el dominio) o sea anterior a una fecha determinada, en nuestro caso 01/01/2012.

(&((objectCategory=person)(objectClass=user)(|(lastLogonTimestamp<=1325376000)(!lastLogonTimestamp=*))))

Para indicar el valor de TimeStamp, he utilizado la calculadora WEB:

Una vez que he tenido los usuario en Disable, ha tocado ocultar aquellos usuarios que el departamento de RRHH ha indicado por baja en la empresa.

Para poder realizar las acciones sobre el check a marcar:
Atributo HideExchange

Corresponde al atributo del objeto: msExchHideFromAddressLists, que podemos visualizar al abrir el objeto de usuario con la herramienta adsiedit.msc.
Para iniciar las pruebas mediante powershell, probé con visualizar los usuarios que tuviesen el check marcado (true), es decir, que no se ven en la libreta de direcciones o desmarcado (false).

Get-QADUser -Disabled -oa @{‘msExchHideFromAddressLists’=$true}

Para poder modificar tenía 2 formas, una más «elegante que otra», ya que en un Script podía trabajar con Logs de los usuarios modificados.

Sin Logs y a lo loco 😉

Get-QADUser -Disabled | Set-QADUser -oa @{‘msExchHideFromAddressLists’=$true}

Con Logs y más elegante

get-qaduser -searchroot «OU=Disable,DC=domain,DC=local» -IncludedProperties MSExchHideFromAddressLists | where-object {-not $_.MSExchHideFromAddressLists} | set-qaduser -objectAttributes @{MSExchHideFromAddressLists=$true} -Confirm | Tee-Object -FilePath «Ocultos_Exchange.txt»

Pero, como esto hubiese sido muy fácil, este cambio no querían realizarlo de forma masiva sobre toda la OU de DISABLE, e ir haciendo estas modificaciones, previo aviso, otra vez, del departamento de RRHH.

Después de todo esto, y hablando con compañero, me indicaron una herramienta que ha estado toda la vida ahí, y ha sido para mí una gran desconocida 😉

AD MODIFIY: http://admodify.codeplex.com/

Es una herramienta que nos permite, mediante una consulta previa sobre AD, modificar cualquier atributo de manera visual.

Abrimos la herramienta con permisos de modificación en AD, y pulsamos en MODIFY ATTRIBUTES
AD MODIFY

Seleccionamos el dominio sobre el cual queremos actuar y sobre que equipo con el rol de Directorio Activo, queremos actuar.
AD MODIFY

En mi caso, no me hará falta realizar una consulta sobre AD, ya que los elementos a modificar los tengo en el OU de Disable\Users. Navegaré hasta la OU y pulsaremos en ADD TO LIST.

Seleccionamos los objetos que queremos modificar.
AD MODIFY

Y ahora, y de forma visual, podemos modificar el atributo que queremos sin ningún tipo de problema 😉
AD MODIFY

Un Saludo,

Manu

Categories: Herramientas, Microsoft, Server Tags:
Comentarios cerrados.