msDS-UserPasswordExpiryTimeCompulated는 "숨겨진" 구성원입니까?

msDS-UserPasswordExpiryTimeCompulated는 "숨겨진" 구성원입니까?

다음 명령을 사용해도 라는 멤버가 생성되지 않습니다 msDS-UserPasswordExpiryTimeComputed. 일종의 "숨겨진" 멤버인가요? 객체의 다른 "숨겨진" 구성원이 있습니까?

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

그러나 값은 msDS-UserPasswordExpiryTimeComputed다음 명령에 의해 생성됩니다.

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

사용자 계정 비밀번호 만료일을 계산하는 데 사용할 수 있습니다.

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

이는 PowerShell Core와 Windows PowerShell 모두에서 발생합니다.

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

답변1

것 같다msDS-UserPasswordExpiryTimeComputedConstructed기인하다정적이 아니지만 값을 얻기 위해 계산/계산되는 유형입니다.

이론은계산된 값이기 때문에 계산 오버헤드당 값을 열거하는 것이 리소스 집약적입니다. 성능상의 이유로,기본적으로 Get-ADUser-Properties *사용된 와일드카드 매개변수를 사용하여 계산된 모든 속성을 열거하지 않습니다 .[1]

위의 결론에 따른 출처 참조 [1]

해결책은아래 예제 PowerShell에 따라 와일드카드 Constructed와 함께 특성 속성 값 중 하나를 명시적으로 지정합니다 .-Properties *

그러나 제가 알 수 있는 바에 따르면 이들 중 하나의 이름을 명시적으로 지정하면 다른 Constructed속성 속성 값 중 일부가 열거됩니다.하지만 반드시 전부는 아니지만.

즉, 예상 속성이 출력되지 않으면 쉼표 별표 [ , *] 앞에 명시적으로 쉼표로 구분된 속성을 추가합니다. (예 Get-ADUser -Identity $Env:USERNAME –Properties msDS-UserPasswordExpiryTimeComputed, ModifyTimeStamp, * | Format-List * -Force;: ).

파워셸

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

지원 리소스

관련 정보