Una tarea frecuente de un administrador de Active Directory es hacer una lista de cuentas de usuario y / o computadora deshabilitadas o inactivas. Puede usar tanto las consultas LDAP guardadas en la consola ADUC como los cmdlets de PowerShell para obtener una lista de objetos inactivos en un dominio de Active Directory. En este artículo, le mostraremos cómo usar PowerShell para encontrar cuentas inactivas de usuarios y computadoras.

El administrador de Active Directory debe deshabilitar y eliminar periódicamente las computadoras y las cuentas de usuario que no se utilicen. Esto reducirá el tamaño de la base de datos de AD (archivo ntds.dit) y también reducirá el riesgo de que un atacante o ex empleados utilicen cuentas antiguas para acceder al dominio.

Para usar todos los cmdlets de PowerShell que se describen a continuación, al menos PowerShell versión 3.0 y el Kit de herramientas de administración remota del servidor (RSAT) debe estar instalado en la computadora. Habilite el módulo de Active Directory para Windows PowerShell desde RSAT (Panel de control -> Programas-> Activar y desactivar características de Windows-> Herramientas de administración de servidor remoto -> Herramientas de administración de roles -> Herramientas de AD DS y AD LDS).

Este módulo de PowerShell también se puede habilitar usando este comando:

Add-WindowsFeature RSAT-AD-PowerShell

Inicie la consola de PowerShell e importe el módulo Active Directory para PowerShell:

Import-Module ActiveDirectory

¿Cómo encontrar equipos inactivos (antiguos) en el dominio de Active Directory?

Puede usar el cmdlet Get-ADComputer para buscar objetos de equipo inactivos en un dominio. La LastLogonTimeStamp El atributo se puede utilizar como criterio de búsqueda. Tenga en cuenta que este atributo no se puede utilizar para recuperar información en tiempo real sobre la última vez que una computadora inició sesión en el dominio. Sin embargo, debido al hecho de que este atributo se replica entre los controladores de dominio cada 9-14 días, puede obtener información sobre la última hora de inicio de sesión del equipo desde cualquier controlador de dominio LastLogonDate atributo, que se actualiza solo en el DC a través del cual la computadora inició sesión).

Puede verificar el valor actual del atributo LastLogonTimeStamp en las propiedades de la computadora en la consola ADUC en la pestaña Editor de atributos.

Atributo LastLogonTimeStamp en las propiedades de la cuenta del directorio activo

Utilice los siguientes comandos para buscar todos los equipos de una unidad organizativa específica que no hayan iniciado sesión durante más de 180 días:

$LastLogonDate= (Get-Date).AddDays(-180)
Get-ADComputer -Properties LastLogonTimeStamp -Filter {LastLogonTimeStamp -lt $LastLogonDate }  -SearchBase ‘OU=Computers,OU=Mun,DC=woshub,dc=com’| Sort LastLogonTimeStamp| FT Name, @{N='lastlogontimestamp'; E={[DateTime]::FromFileTime($_.lastlogontimestamp)}} -AutoSize | Export-CSV c:psinactive_computers.csv

get-adcomputer: busque equipos inactivos por atributo lastlogontimestamp

Este comando generará un archivo CSV con una lista de equipos inactivos que no se han registrado en el dominio durante más de seis meses.

Puede deshabilitar las cuentas de computadora encontradas:

Get-ADComputer -Properties LastLogonTimeStamp -Filter {LastLogonTimeStamp -lt $LastLogonDate }  -SearchBase ‘OU=Computers,OU=Mun,dc=woshub,dc=com’| Disable-ADAccount

Mueva estos objetos de la computadora a una unidad organizativa separada:

Get-ADComputer ... | Move-ADObject -TargetPath “OU=Disabled Computers,DC=woshub,DC=com”

O elimine las computadoras inactivas:

Get-ADComputer ... | Remove-ADComputer

Buscar cuentas de usuario inactivas en Active Directory

También puede utilizar el lastLogonTimeStamp atributo para encontrar cuentas de usuario inactivas. Para crear una lista de usuarios inactivos, debe utilizar este atributo y no lastLogon (el atributo lastLogon no se replica entre controladores de dominio).

La siguiente secuencia de comandos permite seleccionar cuentas de usuario habilitadas que no han iniciado sesión en el dominio durante más de seis meses (180 días) mediante el cmdlet Get-ADUser:

$LastLogonDate= (Get-Date).AddDays(-180)
Get-ADUser -Properties LastLogonTimeStamp -Filter {LastLogonTimeStamp -lt $LastLogonDate }  -SearchBase ‘OU=Users,OU=Mun,dc=woshub,dc=com’| ?{$_.Enabled –eq $True} |  Sort LastLogonTimeStamp| FT Name, @{N='lastlogontimestamp'; E={[DateTime]::FromFileTime($_.lastlogontimestamp)}} -AutoSize | Export-CSV c:psinactive_users.csv

enumerar los usuarios de anuncios inactivos con powershell

Puede deshabilitar a los usuarios inactivos:

Get-ADUser -Properties LastLogonTimeStamp -Filter {LastLogonTimeStamp -lt $LastLogonDate }  -SearchBase ‘OU=Users,OU=Mun,dc=woshub,dc=com’| Disable-ADAccount

Si necesita eliminar cuentas de usuario inactivas de AD, use la canalización con Remove-ADUser.

Uso de Search-ADAccount para encontrar objetos AD inactivos

Puede usar los cmdlets Get-ADUser, Get-ADComputer o Get-ADObject para buscar objetos inactivos en AD. Sin embargo, crear el filtro correcto para estos comandos puede resultar complicado. El módulo ActiveDirectory PowerShell tiene un cmdlet más conveniente para realizar estas tareas: Búsqueda-ADAccount. Este cmdlet se usa para buscar objetos de cualquier tipo (tanto usuarios como equipos). Veamos ejemplos del uso del cmdlet Search-ADAccount para tareas típicas de búsqueda de objetos deshabilitados, inactivos y bloqueados en AD.

Aquí está la lista de las claves más importantes del cmdlet Search-ADAccount:

Búsqueda-ADAccount Key Descripción
-AccountDisabled Búsqueda de cuentas deshabilitadas
-AccountExpired Búsqueda de cuentas caducadas
-AccountExpiring [-DateTime DateTime] [-TimeSpan TimeSpan] Búsqueda de las cuentas a caducar en un período de tiempo determinado (-TimeSpan) o en una fecha específica (-DateTime)
-AccountInactive [-DateTime DateTime] [-TimeSpan TimeSpan] Búsqueda de las cuentas que no han iniciado sesión desde una fecha determinada (-DateTime) o durante un período de tiempo determinado (-TimeSpan)
-LockedOut Búsqueda de las cuentas bloqueadas por la política de contraseñas de dominio.
-PasswordExpired Búsqueda de las cuentas con las contraseñas caducadas
-PasswordNeverExpires Cuentas con el conjunto de atributos PasswordNeverExpires (Control de cuentas del usuario atributo)

Nota. De forma predeterminada, el cmdlet Search-ADAccount busca cuentas de usuario y de equipo al mismo tiempo. Para buscar solo usuarios o equipos, debe utilizar una de las siguientes claves: Solo computadoras o UsersOnly.

Por ejemplo, mostremos la lista de cuentas de usuario deshabilitadas en el dominio:

Search-ADAccount -UsersOnly –AccountDisabled

Puede limitar el alcance de la búsqueda a un contenedor de Active Directory (OU) específico:

Search-ADAccount -UsersOnly –AccountDisabled –searchbase "OU=Admins,OU=Accounts,DC=woshub,DC=com"

enumerar la cuenta deshabilitada en AD usando Search-ADAccount

Los mismos datos se pueden presentar en una forma de tabla más conveniente usando este comando:

Search-ADAccount -UsersOnly -AccountDisabled -searchbase "OU=Admins,OU=Accounts,DC=woshub,DC=com"|ft -AutoSize

Si necesita obtener la lista de usuarios discapacitados que contiene ciertos atributos de usuario y presentarla como una tabla gráfica para ordenar, ejecute lo siguiente:

Search-ADAccount -UsersOnly AccountDisabled |sort LastLogonDate | Select Name,LastLogonDate,DistinguishedName |out-gridview -title "Disabled Users"

Buscar-ADAccount fuera de la vista de cuadrícula

La lista de cuentas de usuario bloqueadas:

Search-ADAccount -UsersOnly –LockedOut

La lista de cuentas de usuario que han estado inactivas en los últimos 60 días:

$timespan = New-Timespan –Days 60
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | ?{$_.Enabled –eq $True}

Para contar estas cuentas de usuario:

Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | ?{$_.Enabled –eq $True} | Measure

La lista de equipos no registrados en la red de dominio durante los últimos 90 días:

Search-ADAccount -AccountInactive –ComputersOnly -TimeSpan 90

O desde cierta fecha:

Search-ADAccount -AccountInactive -ComputersOnly -DateTime ‘1/1/2021’|Select Name,LastLogonDate| ft

Lista de cuentas de ADAccount Equipos inactivos en el dominio

Para exportar la lista de objetos a un CSV, use este comando:

Search-ADAccount -AccountDisabled -UsersOnly| Export-Csv "c:psdisabled_users.csv"

Recomendado para ti

Bestseller No. 1
Wscoficey 35 Teclas de Teclado una Mano, Teclado de Juego retroiluminado RGB, Mini portátil Juego Controlador con reposamuñecas, diseño ergonómico Compatible con PC/Mac / PS4 / Xbox (Negro)
  • Este teclado profesional de 35 teclas con una sola mano con control avanzado programable te hace sentir más cómodo y crea tu propio teclado especial
  • Mini portátil de 35 teclas, diseño mini que ofrece una experiencia de funcionamiento con una sola mano extremadamente simple
  • Adecuado para tus manos y muñeca, simplifica el complejo procedimiento operativo, vence al rival más rápido en los juegos
  • Teclado compatible con MAC, Win 2000, Win XP, Win ME, Vista, Win7, Win8, Android, Linux y más
  • Brillante: retroiluminación LED, más fresco por la noche
RebajasBestseller No. 2
Pack Gaming Wolf | PC Gaming (AMD Ryzen 5 5500 / 16GB / 500GB SSD M.2 + 1TB / RTX3060 / 27" Curvo + Kit Gaming / WIFI) Windows 11 Pro, Monitor Curvo 27", Teclado, Cascos, Ratón y Alfombrilla XXL
  • Bajo la tapa de esta llamativa caja RGB está el procesador AMD Ryzen 5 5500 tiene una frecuencia de reloj de alto rendimiento de 3,6 GHz y en combinación con la NVIDIA RTX 3060 con 12 GB de VRAM, DLSS y trazado de rayos, ofrece una experiencia gráfica de ensueño que hará que tu corazón se acelere.
  • Gracias a los 16 GB de RAM a 3200 MHz y a la unidad SSD M.2 de 500GB, disfrutarás de los tiempos de carga más cortos y estarás siempre un paso por delante de tus rivales. Para una máxima comodidad, hemos preinstalado Windows 10 Pro en tu PCVIP y también hemos instalado una tarjeta WiFi. Sólo tienes que enchufar el PC, encenderlo y la diversión puede empezar de inmediato.
  • Vas a convertirte en el mejor jugador en un tiempo récord gracias a la mejor configuración de ordenador gaming. No hay límites con nuestro innovador PC Gaming. Mejora tu experiencia de juego con el impresionante rendimiento del hardware de los PC Gaming de Ibericavip
  • Rendimiento de primera clase gracias a la NVIDIA RTX 3060 con 12 GB de VRAM y ray tracing. Además, incluimos un monitor LED Full HD de 27 pulgadas, un teclado gaming RGB y un ratón gaming RGB con la mejor alfombrilla XXL
  • Pantalla: Monitor Gaming Curvo 27" 165 Hz Full HD G-Sync Free Sync Compatible
Bestseller No. 3
Logitech G910 Orion Spectrum Teclado Gaming Mecánico Retroiluminado, RGB LIGHTSYNC, Romer-G Táctil,9 Teclas G, Segunda Pantalla Arx, Disposición QWERTZ Escandinavo, Negro
  • Romer-G Táctil: Los interruptores mecánicos Romer-G exclusivos convierten a Orion Spectrum en el teclado rápido de nuestra historia, una actuación de 1,5 mm permite la entrada de datos en Orion
  • Velocidad y Rendimiento: El teclado con cable USB Logtiech Orion Spectrum ofrece una gran velocidad, con un 40 por ciento de durabilidad para un rendimiento optimo usado con un ratón Logitech
  • RGB LIGHTSYNC: La iluminación RGB de Orion Spectrum se puede personalizar con una paleta de 16 millones de colores, la parte superior de cada tecla está iluminada para un resplandor uniforme
  • Segunda Pentalla Arx: Mediante la base ajustable se pueden conectar Smartphones y tablets a Orion Spectrum, con Arx Control, los dispositivos móviles pueden mostrar información del juego en curso
  • Teclas G Programables: El teclado Orion Spectrum dispone de 9 teclas G totalmente personalizables, a las que se pueden asignar comandos por perfil, colocadas para optimizar el acceso