
Die Verwendung der folgenden Befehle erzeugt kein Mitglied mit dem Namen msDS-UserPasswordExpiryTimeComputed
. Handelt es sich hierbei um eine Art „verstecktes“ Mitglied? Gibt es andere „versteckte“ Mitglieder von Objekten?
Get-ADUser -identity $Env:USERNAME –Properties *
Get-ADUser -identity $Env:USERNAME –Properties * | Format-List -Property * -Force
Der Wert msDS-UserPasswordExpiryTimeComputed
wird jedoch durch den folgenden Befehl erzeugt.
Get-ADUser -Identity $Env:USERNAME –Properties "msDS-UserPasswordExpiryTimeComputed"
Damit kann das Ablaufdatum des Kennworts eines Benutzerkontos berechnet werden.
Get-ADUser -Identity $Env:USERNAME –Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" |
Select-Object -Property "Displayname",@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}
Es tritt sowohl bei PowerShell Core als auch bei Windows PowerShell auf.
PS C:\> $PSVersionTable.PSVersion.ToString()
7.2.6
PS C:\> $PSVersionTable.PSVersion.ToString()
5.1.19041.1682
Antwort1
Es scheint, dassmsDS-UserPasswordExpiryTimeComputed
ist einConstructed
AttributTyp, der nicht statisch ist, sondern berechnet/kalkuliert wird, um den Wert zu erhalten.
Die Theorie istdass es, da es sich um einen berechneten Wert handelt, ressourcenintensiver ist, den Wert pro Rechenaufwand aufzuzählen. Aus Leistungsgründenstandardmäßig Get-ADUser
listet nicht alle berechneten Attribute mit dem Platzhalterparameter auf, -Properties *
wie es verwendet wurde.[1]
Quellenangabe gemäß obiger Schlussfolgerung [1]
Die Lösung istum einen der Constructed
Attributeigenschaftswerte in Verbindung mit dem -Properties *
Platzhalter gemäß dem folgenden PowerShell-Beispiel explizit anzugeben.
Wenn Sie jedoch eines davon explizit benennen, werden meines Wissens nach einige der anderen Constructed
Attribut-Eigenschaftswerte aufgezählt.aber nicht unbedingt alle.
Dies bedeutet, wenn erwartete Attribute nicht ausgegeben werden, dann fügen Sie diese explizit Komma getrennt vor dem Komma Asterisk [ , *
] hinzu. (zB Get-ADUser -Identity $Env:USERNAME –Properties msDS-UserPasswordExpiryTimeComputed, ModifyTimeStamp, * | Format-List * -Force;
).
Power Shell
Get-ADUser -Identity $Env:USERNAME –Properties msDS-UserPasswordExpiryTimeComputed, * | Format-List * -Force;