Búsqueda de sitios web

Obtenga una lista de cuentas de usuario caducadas en AD usando PowerShell


Publicado originalmente en julio de 2017 y actualizado en agosto de 2019

Cómo obtener una lista de cuentas de usuario caducadas con PowerShell

Una de las tareas más importantes que realiza un administrador de Active Directory es garantizar que las cuentas de usuario caducadas se informen de manera oportuna y que se tomen medidas para eliminarlas o deshabilitarlas de inmediato. Tenga en cuenta que las cuentas de usuario para las que establece una fecha de vencimiento solo se crean temporalmente. Por ejemplo, es posible que haya creado varias cuentas de usuario para permitir que los proveedores inicien sesión en Active Directory. De manera similar, es posible que haya creado cuentas de usuario para contratistas. Si desea ver qué cuentas han caducado, ejecute el siguiente comando de PowerShell:

Search-ADAccount -Server $ThisDomain -Credential $Creds -AccountExpired -UsersOnly -ResultPageSize 2000 -resultSetSize $null| Select-Object Name, SamAccountName, DistinguishedName

Tenga en cuenta el uso del cmdlet de PowerShell Search-ADAccount nuevamente, pero esta vez con un modificador diferente. El modificador que utilizamos es AccountExpired. Como sugiere el nombre, el interruptor AccountExpired le ayuda a recopilar cuentas de usuario que han caducado.

Cómo obtener la fecha de vencimiento de la cuenta usando PowerShell

Para obtener la fecha de vencimiento de la cuenta AD para todos los usuarios habilitados en su Active Directory, puede usar el cmdlet Get-ADUser con una propiedad -AccountExpirationDate. Ejecute el siguiente script en PowerShell ISE en su Windows Server:

Get-ADUser -Filter 'enabled -eq $true' -Properties AccountExpirationDate | Select sAMAccountName, distinguishedName, AccountExpirationDate

Obtendrá la fecha y hora de vencimiento de una lista completa de sus usuarios de AD.

Si necesita un resumen para un grupo específico, debe modificar el script agregando el parámetro -SearchBase. Puede canalizar datos a un archivo .csv (por ejemplo, para importarlos a Excel o abrirlos en un editor de texto) agregando |export-csv -NoTypeInformation

Suponiendo que necesitamos exportar la lista de fechas de vencimiento de cuentas para la unidad organizativa "TI" del dominio Enterprise.com, la expresión que ejecutaremos en DC será la siguiente:

Get-ADUser -Filter 'enabled -eq $true' -Searchbase "OU=IT,DC=enterprise,DC=com" -Properties AccountExpirationDate | Select SAMAccountName, distinguishedName, AccountExpirationDate |export-csv C:TempExpiryDate.csv -NoTypeInformation

En resumen, con conocimientos mínimos de secuencias de comandos de Microsoft Powershell, Search-ADAccount, combinado con Get-ADUser, puede ayudarle a resolver muchas tareas ad hoc de análisis y limpieza de AD.

¿Necesita más scripts de PowerShell para Active Directory? Encuentre todos los comandos de PowerShell más buscados para Active Directory en una publicación de blog.

Artículos relacionados