Mnoho správců služby Active Directory musí pravidelně odkazovat na určitá pole objektů účetnictví domény, která obsahují časové razítko. Obvykle takový úkol vzniká, když potřebujete určit čas posledního přihlášení uživatele k doméně nebo poslední registraci počítače ve službě Active Directory. Tyto informace jsou obsaženy v poli. Lastlogontimestamp.
Všechno by bylo v pořádku, ale problém je, že formát času, ve kterém je časová známka uložena, je UTC. I.e. místo obvyklého data a času uvidíte něco jako následující:
129639007827858663
Samozřejmě, abyste mohli okamžitě pochopit, jaké to je datum, musíte mít určité dovednosti a fenomenální výpočetní schopnosti mozku.
Existuje však cesta ven pro jednoduché správce systému, osobně používám následující tři metody:
1) Můžete použít snap adsiedit.msc, aktualizován v systému Windows 7, který automaticky převádí čas UTC na normální datum, tento čas však nelze zkopírovat, protože při úpravách bude opět v nestravitelném formátu.
2) Chcete-li převést hodnotu Lastlogontimestamp na normální formát data, můžete použít nástrojw32tm.exe (tento příkaz jsme již použili, když jsme hovořili o tom, jak použít w32tm ke konfiguraci synchronizace s externím serverem NTP)
Jeho syntaxe je následující:
w32tm / ntte (hodnota atributu lastLogon)
Například:
C: \> w32tm / ntte 129639007827858663
Vrátí se:
150045 03: 33: 02.7858663 - 10.24.2011 9:33:02
3) Pokud potřebujete hromadně převést hodnoty Lastlogontimestamp z UTC, můžete použít Excel. Vzorec převodu bude vypadat takto
= IF (A1> 0; DATUM (1601; 1; 1) + A1 / 600000000/1440; "")
, kde A1 je buňka obsahující časové razítko
Osobně se mi líbí převod Lastlogontimestampu do normálního času pomocí Excelu a v kombinaci s metodou extrahování informací z Active Directory přímo do Excelu bylo ještě snazší zjistit poslední čas přihlášení všech uživatelů (počítačů) domény, čímž se pravidelně vymaže AD databáze zastaralé záznamy.