직원이 회사를 떠났습니다. 해고 전 또는 후에 AD 계정이 마지막으로 로그인 한 시간을 확인하려고합니다.
사용자 특성 창에는 lastLogon 및 lastLogonTimestamp의 두 가지 속성이 있습니다 . lastLogon 날짜는 해고 날짜보다 빠르지 만 lastLogonTimestamp 날짜는 해고 날짜보다 늦습니다 (이 경우 보안 문제가 발생 함).
어떻게 알 수 있습니까? 이러한 특성 중 어떤 것이 실제 마지막 AD 계정 로그인 시간을 표시합니까? 그들 사이의 차이점은 무엇입니까?
답변
가장 최근의 속성을 사용하십시오.
Lastlogon은 인증을 수행하고 복제되지 않는 도메인 컨트롤러에서만 업데이트됩니다.
LastLogontimestamp는 복제되지만 기본 값이 이전 값보다 14 일 이상 지난 경우에만 기본적으로 적용됩니다.
답변
TL; DR- 가장 정확한 로그온 시간을 원하는 경우 lastLogon
모든 도메인 컨트롤러에서 특성을 쿼리해야합니다 . 허용 오차 ± 19 일이 허용 lastLogonTimestamp
되는 경우 가장 가까운 도메인 컨트롤러에서 읽을 수 있습니다 .
lastLogon
이 특성은 복제되지 않으며 도메인의 각 도메인 컨트롤러에서 별도로 유지 관리됩니다. 도메인에서 사용자의 마지막 로그온에 대한 정확한 값을 얻으려면 도메인의 모든 도메인 컨트롤러에서 사용자의 Last-Logon 특성을 검색해야합니다. 검색되는 가장 큰 값은 해당 사용자의 마지막 로그온 시간입니다.
https://docs.microsoft.com/en-us/windows/desktop/adschema/a-lastlogon#remarks
lastLogonTimestamp
사용자가 로그온 할 때마다이 속성의 값을 DC에서 읽습니다. 값이 [current_time-
msDS-LogonTimeSyncInterval
] 보다 오래된 경우 값이 업데이트됩니다. 도메인 기능 수준 상승 후 초기 업데이트는 14 일에서 5 일의 임의 비율을 뺀 값으로 계산됩니다.
https://docs.microsoft.com/en-us/windows/desktop/adschema/a-lastlogontimestamp
노트:
- 두 날짜가 저장됩니다
FILETIME
(Int64
당신이 프로그래밍 방식을 검색 할 경우 닷넷 / PowerShell에서). - PowerShell은
LastLogonDate
속성 도 제공 합니다. 나는 이것을 확인하기 위해 Microsoft 특정 문서를 제공하는 것을 선호했지만 대부분의 출처에 따르면 내 테스트에서 그것이lastLogonTimestamp
l̲o̲c̲a̲l̲DateTime
값으로 변환 되었음을 확인합니다 .