Búsqueda de sitios web

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 PM

Como 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)}},PasswordLastSet

La 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 PM

En 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)}},PasswordLastSet

El 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 PM

Consejo 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)}},PasswordLastSet

En 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                    0

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

Artículos relacionados