Get-AdUser PwdLastSet: obtiene el último cambio de contraseña de Aduser
El atributo PwdLastSet almacena información sobre el último cambio de contraseña. En el directorio activo, puede verificar el último cambio de contraseña en Active Directory para la cuenta de usuario usando el atributo llamado PwdLastSet.
El atributo Get-AdUser PwdLastSet almacena la fecha y hora en que cambió la contraseña del usuario por última vez. Si el valor de Get-AdUser PwdLastSet es 0, el usuario nunca ha iniciado sesión en el sistema. El atributo PwdLastSet almacena el valor DateTime modificado por última vez de la contraseña del usuario en formato de entero grande y no es legible por humanos.
En este artículo, explicaré cómo usar el atributo Get-AdUser PwdLastSet para obtener una lista de usuarios que nunca han iniciado sesión u obtener una lista de las últimas contraseñas de un usuario para cambiar DateTime usando PowerShell.
Get-AdUser PwdLastSet para obtener la contraseña de usuario DateTime
Si desea obtener la marca de tiempo de la fecha de la última contraseña establecida del usuario del directorio activo, ejecute el siguiente comando
Get-ADUser -Identity Toms -properties PwdLastSet,PasswordLastSet | sort Name | ft Name,PwdLastSet,PasswordLastSet
En el script de PowerShell anterior, el cmdlet Get-AdUser obtiene el objeto de usuario del directorio activo especificado por samaccountname y selecciona las propiedades PwdLastSet y PasswordLastSet del objeto de usuario y pasa la salida al segundo comando.
El segundo comando selecciona Nombre e imprime Nombre, PwdLastSet y PasswordLastSet en la consola como se muestra a continuación.
Name PwdLastSet PasswordLastSet
---- ---------- ---------------
Tom Smith 132721241372821181 7/30/2021 1:08:57 PMComo se ve en el resultado anterior, el formato de fecha Get-AdUser PwdLastSet es un número entero grande. El atributo PasswordLastSet contiene el valor calculado del atributo PwdLastSet en formato de fecha y hora.
Podemos usar la expresión para el formato get-aduser pwdlastset convert to date como se muestra a continuación
@{Name='PwdLastSet';Expression={[DateTime]::FromFileTime($_.PwdLastSet)}}Script final de PowerShell para convertir el valor del atributo pwdlastset del formato numérico al formato DateTime como se muestra a continuación
Get-ADUser -Identity Toms -properties PwdLastSet,PasswordLastSet | sort Name | ft Name,@{Name='PwdLastSet';Expression={[DateTime]::FromFileTime($_.PwdLastSet)}},PasswordLastSetLa salida del comando anterior después de pwdlastset se convierte al formato de fecha y hora como se muestra a continuación
Name PwdLastSet PasswordLastSet
---- ---------- ---------------
Tom Smith 7/30/2021 1:08:57 PM 7/30/2021 1:08:57 PMEn el resultado anterior, obtiene la fecha del último cambio de contraseña del usuario utilizando la propiedad PasswordLastSet.
Consejo: Utilice el atributo Get-ADUser PasswordLastSet si desea consultar a los usuarios de anuncios sobre la última contraseña que cambió, DateTime, debido a su formato DateTime.
Consejo interesante: ¡Cómo encontrar la fecha de vencimiento de la contraseña de un usuario en PowerShell!
Convierta pwdlastset a la fecha usando PowerShell
El atributo pwdlastset del usuario del directorio activo almacena el último cambio de contraseña. Esta marca de tiempo es el número de intervalos de 100 nanosegundos desde el 1 de enero de 1601, UTC.
El atributo pwdlastset almacena marcas de tiempo en formato de tipo de datos System.Int64.
Para convertir pwdlastset a DateTime usando PowerShell, siga los pasos a continuación
- Utilice la clase DateTime y llame a su método FromFileTime utilizando el operador de resolución de alcance ::
- El método FromFileTime toma el atributo pwdlastset del usuario del directorio activo como parámetro de entrada.
- Expression evalúa
[DateTime]::FromFileTime($_.PwdLastSet)en un formato legible por humanos y convierte pwdlastset a date en PowerShell.
El ejemplo de conversión de pwdlastset a la fecha se proporciona a continuación:
Get-ADUser -Identity Toms -properties PwdLastSet,PasswordLastSet | sort Name | ft Name,@{Name='PwdLastSet';Expression={[DateTime]::FromFileTime($_.PwdLastSet)}},PasswordLastSetEl resultado de lo anterior en PowerShell convierte pwdlastset a DateTime en formato legible por humanos para el valor de pwdlastset de 132975302840000000 es:
Name PwdLastSet PasswordLastSet
---- ---------- ---------------
Tom Smith 5/20/2022 2:24:44 PM 5/22/2022 2:24:44 PMConsejo interesante: ¡Cómo hacer que un usuario cambie la contraseña en el próximo inicio de sesión en PowerShell!
Get-AdUser PwdLastSet: obtenga usuarios de una unidad organizativa específica
Si desea obtener una lista de la contraseña de los usuarios publicitarios que se modificó por última vez en una unidad organizativa específica utilizando el parámetro de filtro Get-AdUser PwdLastSet como se muestra a continuación
Get-ADUser -SearchBase "OU=SALES,DC=SHELLPRO,DC=LOCAL" -Filter * -Properties Name,PwdLastSet,PasswordLastSet | sort Name | ft Name,@{Name='PwdLastSet';Expression={[DateTime]::FromFileTime($_.PwdLastSet)}},PasswordLastSetEn el script de PowerShell anterior, el cmdlet Get-AdUser obtiene la lista de usuarios de una unidad organizativa específica mediante el parámetro SearchBase y pasa el resultado al segundo comando.
El segundo comando ordena la lista de usuarios por nombre e imprime las propiedades Nombre, PwdLastSet y PasswordLastSet en la consola como se muestra a continuación.
Name PwdLastSet PasswordLastSet
---- ---------- ---------------
Chris Dore 8/1/2021 3:36:53 PM 8/1/2021 3:36:53 PM
Tom Smith 7/30/2021 1:08:57 PM 7/30/2021 1:08:57 PM
Dev 0En el resultado anterior,
Los dos primeros registros muestran PwdLastSet en formato de fecha, ya que hemos usado expresiones para convertir números enteros grandes al formato DateTime.
Sin embargo, el último registro para aduser Dev tiene el valor PwdLastSet 0, lo que significa que el usuario nunca ha iniciado sesión, por lo tanto, el valor PwdLastSet es 0.
También muestra la fecha del último cambio de contraseña del usuario.
Conclusión
Espero que el artículo anterior sobre el atributo Get-AdUser PwdLastSet le ayude a comprender cuándo se cambió la última contraseña del usuario DateTime.
El atributo PwdLastSet contiene un valor entero System.Int64 y debe convertirse a DateTime para un formato legible por humanos. Lea más para exportar el usuario del anuncio a un archivo CSV en PowerShell.
El atributo PasswordLastSet muestra la fecha del último cambio de contraseña del usuario del 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.
