Mnoho správcov služby Active Directory sa musí pravidelne odvolávať na určité oblasti účtovných objektov domény, ktoré obsahujú časovú pečiatku. Zvyčajne takáto úloha vzniká, keď potrebujete určiť čas posledného prihlásenia používateľa do domény alebo poslednú registráciu počítača v službe Active Directory. Táto informácia je obsiahnutá v poli. lastLogonTimestamp.
Všetko by bolo v poriadku, problém však spočíva v tom, že formát času, v ktorom je časová známka uložená, je UTC. tj namiesto zvyčajného dátumu a času sa vám zobrazí niečo podobné:
129639007827858663
Samozrejme, aby ste okamžite pochopili, aký je dátum, musíte mať určité zručnosti a fenomenálne počítačové schopnosti mozgu.
Pre jednoduchých správcov systému však existuje cesta, osobne používam tieto tri metódy:
1) Môžete použiť snímku Adsiedit.msc, aktualizované v systéme Windows 7, ktorý automaticky prevádza čas UTC na normálny dátum, tento čas sa však nedá skopírovať, pretože pri úprave bude opäť v nestráviteľnom formáte.
2) Ak chcete previesť hodnotu Lastlogontimestamp na normálny formát dátumu, môžete použiť pomôckuw32tm.exe (tento príkaz sme už použili, keď sme hovorili o tom, ako použiť w32tm na konfiguráciu synchronizácie s externým serverom NTP)
Jeho syntax je takáto:
w32tm / ntte (hodnota atribútu lastLogon)
Napríklad:
C: \> w32tm / ntte 129639007827858663
Vráti sa:
150045 03: 33: 02.7858663 - 10.24.2011 9:33:02
3) Ak potrebujete hromadne prevádzať hodnoty Lastlogontimestamp z UTC, môžete použiť Excel. Vzorec konverzie bude vyzerať takto
= IF (A1> 0; DÁTUM (1601; 1; 1) + A1 / 600000000/1440; "")
, kde A1 je bunka obsahujúca časovú pečiatku
Osobne sa mi páči prevod Lastlogontimestamp na normálny čas pomocou Excelu a v kombinácii s metódou extrahovania informácií z Active Directory priamo do Excelu je ešte ľahšie zistiť posledný čas prihlásenia všetkých používateľov (počítačov) domény, čím sa pravidelne zúčtuje AD databáza z zastarané záznamy.