
다음 명령을 사용해도 라는 멤버가 생성되지 않습니다 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-UserPasswordExpiryTimeComputed
는Constructed
기인하다정적이 아니지만 값을 얻기 위해 계산/계산되는 유형입니다.
이론은계산된 값이기 때문에 계산 오버헤드당 값을 열거하는 것이 리소스 집약적입니다. 성능상의 이유로,기본적으로 Get-ADUser
-Properties *
사용된 와일드카드 매개변수를 사용하여 계산된 모든 속성을 열거하지 않습니다 .[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;