¿MSDS-UserPasswordExpiryTimeComputed es un miembro "oculto"?

¿MSDS-UserPasswordExpiryTimeComputed es un miembro "oculto"?

El uso de los siguientes comandos no genera un miembro llamado msDS-UserPasswordExpiryTimeComputed. ¿Es este algún tipo de miembro "oculto"? ¿Hay otros miembros de objetos "ocultos"?

Get-ADUser -identity $Env:USERNAME –Properties *
Get-ADUser -identity $Env:USERNAME –Properties * | Format-List -Property * -Force

Sin embargo, el valor de msDS-UserPasswordExpiryTimeComputedse produce mediante el siguiente comando.

Get-ADUser -Identity $Env:USERNAME –Properties "msDS-UserPasswordExpiryTimeComputed"

Se puede utilizar para calcular la fecha de vencimiento de la contraseña de la cuenta de usuario.

Get-ADUser -Identity $Env:USERNAME –Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" |
Select-Object -Property "Displayname",@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}

Ocurre tanto en PowerShell Core como en Windows PowerShell.

PS C:\> $PSVersionTable.PSVersion.ToString()
7.2.6
PS C:\> $PSVersionTable.PSVersion.ToString()
5.1.19041.1682

Respuesta1

Parece quemsDS-UserPasswordExpiryTimeComputedes unConstructedatributotipo que no es estático sino calculado/calculado para obtener el valor.

La teoría esque, dado que es un valor calculado, requiere más recursos enumerar el valor por sobrecarga computacional. Por razones de rendimiento,por defecto Get-ADUserno enumera todos los atributos calculados con el -Properties *parámetro comodín tal como se utilizó.[1]

Referencia de la fuente según la conclusión anterior [1]

La solucion espara especificar explícitamente uno de los Constructedvalores de propiedad del atributo junto con el -Properties *comodín según el siguiente ejemplo de PowerShell.

Sin embargo, por lo que puedo decir, si nombra uno de ellos explícitamente, algunos de los Constructedvalores de propiedad de otros atributos se enumeraránpero no necesariamente todos.

Esto significa que si los atributos esperados no se muestran, agréguelos explícitamente también separados por comas antes del asterisco de coma [ , *]. (p.ej Get-ADUser -Identity $Env:USERNAME –Properties msDS-UserPasswordExpiryTimeComputed, ModifyTimeStamp, * | Format-List * -Force;).

Potencia Shell

Get-ADUser -Identity $Env:USERNAME –Properties msDS-UserPasswordExpiryTimeComputed, * | Format-List * -Force;

Recursos de apoyo

información relacionada