2016-08-19 1 views
0

그래서 AD에있는 모든 사용자에 대한 특정 속성을 반환하는이 라이너가 있습니다.accountExpires 속성의 형식이 변경되지 않습니다.

제 문제는 "accountExpires"필드를 계속 비워두기 때문에 그 이유를 모르겠습니다.

스크립트를 변경하여 포맷되지 않은 속성을 반환하면 작동하지만 정확히 읽을 수는 없습니다.

도움을 주시면 감사하겠습니다.

Get-ADUser -Filter * -Properties * | Select Name,Enabled,whenCreated,whenChanged,@{N='accountExpires';E={[DateTime]::FromFileTime($_.accountExpires)}},@{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}} 

답변

1

ActiveDirectory 모듈에는 나에게 성가신 기능이 있습니다. 날짜가 포함 된 필드 (예 : accountExpires)의 날짜를 변환하는 대신 변환 된 값을 포함하는 유사한 이름의 두 번째 속성을 제공합니다.

Get-ADUser -Filter * -Properties * | Select-Object AccountExpirationDate 

사용자가 직접 변환해야 할 필요성을 제거해야합니다.

+0

AccountExpirationDate에 대한 사항은 채워진 필드 여야하며 AccountExpires는 9223372036854775807 값을 반환해야합니다. 이는 만료 날짜가 설정되지 않았 음을 의미합니다. 다음과 같이 : 'AccountExpirationDate : AccountExpires : 9223372036854775807' –

+0

아니요, 만료는 null 또는 위에있는 값으로 나타낼 수 있습니다. 위의 값은 너무 커서 시간 소인으로 변환 할 수 없습니다. 이것은 예외를 던졌습니다 :'[DateTime] :: FromFileTime (9223372036854775807)', 그것은 16 진수 ('0x7FFFFFFFFFFFFFFF')로 더 예쁘게 보이므로 여러분은 날짜 표현에서 null로 끝날 것입니다. –

+0

아, 그건 이해가됩니다. Chris 도움에 감사드립니다. –