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.
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
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
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"
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"
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
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
- 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
- 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
- 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