LastLogonDate je převedená verze LastLogonTimestamp a je replikována mezi DC se zpožděním až 14 dní. Vzhledem k tomu, že se dotazujete 30 dní zpětně, je LastLogonDate vhodné, pokud chápete omezení. Více o tom později.
LastLogon NENÍ replikováno, ale obsahuje skutečné poslední přihlášení uživatele. Chcete-li se podle něj dotazovat, musíte se dotázat všech DC v doméně a vybrat nejnovější LastLogon, jinak ve skutečnosti nezískáte jejich skutečné poslední přihlášení.
Teď řekněme, že se zeptáte na LastLogonDate/Timestamp a zkontrolujete 30 dní, protože jejich aktualizace může mít zpoždění až 14 dní, může to být až o 14 dní starší než jejich skutečné poslední přihlášení. To znamená, že lastlogontimestamp by mohl být 6/28, ale mohli se přihlásit třeba 7/5 a lastlogontimestamp by se neaktualizoval. Takže kontrola 30 dnů oproti lastlogontimestamp znamená, že ve skutečnosti kontrolujete uživatele, kteří se nepřihlásili od 15 do 30 dnů. Pokud byste chtěli kontrolovat pouze více než 30 dní, můžete nastavit 45 dní a vynechat některé uživatele, kteří se nepřihlásili od 30 do 44 dní.
Přichází Search-ADAccount:
PowerShell
1
|
Search-ADAccount -AccountInactive -Timespan (New-TimeSpan -Days 30) -UsersOnly
|
Který je jednodušší na použití, podle mého názoru. Mějte na paměti, že Search-ADAccount se dívá na lastlogonTimestamp, který může být aktualizován až 14 dní pozadu. Ale Search-ADAccount přidává 15 dní k tomu, co mu předáte, aby zohlednil zpoždění. Pokud tedy chcete zkontrolovat účty, které se určitě nepřihlásily za posledních 30 dní, předáte mu 30 dní. Pak zkontroluje lastlongontimestamp pro data starší než 45 dní.
Bez ohledu na to, co děláte, vám nedá výsledky, které hledáte. Chcete-li nadále používat lastlogon, musíte kontrolovat každý DC. Chcete-li přejít na lastlogontimestamp (nebo search-adaccount), musíte se smířit s tím, že uživatelé, kteří se naposledy přihlásili před 30 až 44 dny, mohou, ale nemusí chybět.