Buscar usuarios inactivos en Active Directory
El usuario del directorio activo tiene un atributo "lastLogonTimeStamp" que almacena la marca de tiempo del último inicio de sesión del usuario. Este atributo ayuda a encontrar usuarios inactivos en Active Directory.
Las cuentas de usuarios inactivos pueden generar amenazas a la seguridad, por lo que es importante que los administradores del sistema supervisen a los usuarios inactivos o deshabiliten las cuentas con regularidad.
Utilice el cmdlet Get-AdUser en PowerShell con el atributo lastLoginTimeStamp para verificar el período de tiempo inactivo del usuario y buscar cuentas de usuarios inactivos en el directorio activo.
En este ejemplo, analizaremos cómo recuperar usuarios inactivos en el directorio activo utilizando el cmdlet Get-AdUser en PowerShell.
Listar usuarios inactivos en Active Directory
Utilice el cmdlet Get-AdUser para buscar uno o más usuarios en el directorio activo. Para obtener los usuarios inactivos que no iniciaron sesión en los últimos 60 días, utilice el siguiente comando.
$inactiveDays = ((Get-Date).AddDays(-60)).Date
Get-ADUser -Filter {LastLogonDate -lt $inactiveDays} -Properties * | select-object samaccountname,LastLogonDate
En el script de PowerShell anterior, la variable $inactiveDays almacena la fecha recuperada mediante el cmdlet Get-Date. Contiene una fecha anterior a 60 días.
El cmdlet Get-AdUser utiliza el parámetro Filter para comprobar la condición en la que el atributo LastLogonDate tiene menos de 60 días y selecciona su samaccountname y LastLogonDate.
El resultado del script de PowerShell anterior encuentra a los usuarios inactivos en el directorio activo.
Utilice el cmdlet Export-CSV en PowerShell para exportar la lista de usuarios inactivos en el directorio activo a un archivo CSV.
El siguiente comando descarga todos los usuarios que no han iniciado sesión durante los últimos 60 días.
$inactiveDays = ((Get-Date).AddDays(-60)).Date
Get-ADUser -Filter {LastLogonDate -lt $inactiveDays} -Properties * | select-object samaccountname,LastLogonDate |
Export-Csv -Path C:\PowerShell\inactive_Users_ad.csv -NoTypeInformation
Consejo interesante: ¡Cómo saber en qué grupo de Active Directory estoy usando PowerShell!
Encuentre usuarios inactivos en AD sin iniciar sesión durante 45 días
Utilice el comando Get-Aduser para obtener los usuarios del directorio activo del directorio activo y utilice el parámetro filter para identificar la cuenta de usuario que no muestra actividad de inicio de sesión durante 45 días o más. .
$inactiveDays = ((Get-Date).AddDays(-45)).Date
Get-ADUser -Filter {LastLogonDate -lt $inactiveDays} -Properties * | select-object samaccountname,LastLogonDateEn el script de PowerShell anterior, la variable $inactiveDays almacena la fecha que es fecha actual - 45 días.
El cmdlet Get-AdUser utiliza el parámetro Filter para verificar y recuperar las cuentas de usuario en el directorio activo que no muestran actividad de inicio de sesión en los últimos 45 días.
Consejo interesante: ¡Cómo utilizar la lista de exportación de usuarios deshabilitados desde el directorio activo en PowerShell!
Conclusión
Espero que el artículo anterior sobre cómo encontrar usuarios inactivos en el directorio activo utilizando el atributo lastlogontimestamp del cmdlet Get-AdUser le resulte útil.
El atributo lastLogonTimestamp también se puede utilizar para buscar equipos inactivos en el directorio activo.
Puede encontrar más temas sobre los comandos de PowerShell Active Directory y los conceptos básicos de PowerShell en la página de inicio de ShellGeek.
