Con el objetivo de realizar auditorías de seguridad programadas, así como para hacer limpieza o tareas administrativas, podría resultar necesario conocer el número total de cuentas de usuario presentes en Directorio Activo, cuantas están deshabilitadas o su segmentación por departamentos u OUs (Organizational Units)
Directorio Activo de Microsoft Windows es un rol que se puede añadir a cualquier edición de Windows un directory server (servidor de directorio) en el que dar de altas usuarios para control de accesos a recursos corporativos, auditoría de recursos e implementación de políticas.
Por supuesto, podemos abrir la interfaz gráfica de turno y ponernos a contar el número a mano, pero en corporaciones grandes esto no será viable, dado que podríamos tardar siglos y cometer errores.
Consultar total de usuarios en Active Directory usando Powershell
Pre-requisitos
Lo primero es importar el módulo de Active Directory:
Import-Module ActiveDirectory
A continuación tenéis algunos ejemplos que nos permitirán realizar un conteo del total de usuarios y grupos existentes en Directorio Activo de Windows Server.
Total de cuentas de usuario en AD
Emplearemos el siguiente comando, tal cual aparece, tras abrir una ventana de Powershell:
(Get-ADUser -filter *).count
Total de cuentas de usuario en una OU
Para obtener el número de cuentas existentes dentro de una Organizational Unit (no confundir con un grupo) teclearemos lo siguiente:
(Get-ADUser -Filter * -SearchBase "ou=<nuestra_ou>,dc=<dominio1>,dc=<dominio2>").count
Modificaremos los valores en rojo. Ejemplo:
(Get-ADUser -Filter * -SearchBase “ou=Usuarios,ou=GBS,dc=adgbs,dc=com”).count
También podemos utilizar la siguiente consulta:
(get-aduser -filter {memberof -recursivematch "CN=Gupo,OU=<nuestra_ou>,DC=<dominio1>,DC=<dominio2>"}).count
Total de cuentas de usuario dentro de un grupo
Para obtener el total de cuentas de usuario en un grupo de Active Directory escribiremos lo siguiente, modificando el valor en rojo por el que corresponda en nuestro caso:
(Get-ADGroupMember -Identity "Nombre_grupo").count
Otras opciones que podemos utilizar:
(Get-ADGroup Nombre_grupo -Properties *).member.count
Total de grupos existentes en Directorio Activo
Si lo que buscamos no es el total de usuarios sino de grupos, escribiremos la siguiente consulta:
(Get-ADGroup -Filter * -SearchBase "ou=<nuestra_ou>,dc=<dominio1>,dc=<dominio2>").count
Quedaría de la siguiente forma en un ejemplo práctico:
(Get-ADGroup -Filter * -SearchBase “ou=Usuarios,ou=OU1,dc=redactado,dc=com”).count
Uso de filtros
Total de usuarios habilitados o deshabilitados en Directorio Activo
También podemos aplicar un filtro más específico para, por ejemplo, obtener el total de cuentas según su estado.
Si queremos el total de cuentas habilitadas, usaremos:
(Get-AdUser -filter * |Where {$_.enabled -eq "True"}).count
Para hacer lo propio con los usuarios deshabilitados:
(Get-ADUser -filter * |Where {$_.enabled -ne "False"}).count
Siguiendo otro de los ejemplos anteriores, podríamos filtrarlo de la siguiente forma para obtener los usuarios dentro de una ruta concreta en base a su grupo y fecha de caducidad de cuenta.
(get-aduser -properties AccountExpirationDate -filter {memberof -recursivematch "ou=<nuestra_ou>,dc=<dominio1>,dc=<dominio2>"} | where {$_.AccountExpirationDate -ne $null}).count
Espero que os haya servido de ayuda y ya sabéis, si os ha gustado compartidlo con vuestros amigos 😉
¡Momento Spam! Perdón, quería decir ¡Consejo del día 🙂 !: En nuestra web ahora te ayudamos a proteger tu PC con los mejores antivirus gratis Windows 11 y 10. Para conseguir esto he desarrollado un listado que espero que te guste y te sea muy útil. Además, te dejo sus opciones premium para una seguridad total. ¡Cuídate!.
Descubre el mejor antivirus para 2024
Accede a nuestro comparador gratuito y encuentra el antivirus que mejor se adapte a lo que necesitas y con mejor valoración de los expertos.
Ir al comparador