Categories: Active Directory

Преобразуем timestamp в нормальное время

Многим администраторам Active Directory периодически приходится обращаться к тем или иным полям учетных объектов домена, содержащих метку времени (timestamp). Обычно такая задача возникает, когда нужно определить время последнего входа пользователя в домен, или последней регистрации компьютера в Active Directory. Эта информация содержится в поле Lastlogontimestamp .

Все бы хорошо, но проблема заключается в том, что формат времени, в котором хранится метка времени – UTC. Т.е. вместо привычной даты и времени вы увидите нечто следующее:

129639007827858663

Естественно, чтобы сразу понять какая это дата, нужно обладать определенными навыками и феноменальными вычислительными способностями головного мозга.

Однако выход есть и для простых системных администраторов, лично я использую следующие три методики:

1) Можно воспользоваться оснасткой adsiedit.msc , обновленной в Windows 7, которая автоматически преобразует UTC время в нормальную дату, однако это время скопировать не удастся, т.к. при редактировании оно опять будет в неудобоваримом формате.

2) Для преобразования значения Lastlogontimestamp в нормальный формат даты, можно воспользоваться утилитой w32tm.exe (мы уже пользовались этой командой, когда говорили о том, как с помощью w32tm настроить синхронизацию с внешним NTP сервером )

Синтаксис ее таков:

w32tm /ntte (lastLogon attribute value)

Например:

C:>w32tm /ntte 129639007827858663

Вернет:
150045 03:33:02.7858663 — 24.10.2011 9:33:02

3) В случае необходимости массового преобразования значений Lastlogontimestamp из формата UTC, можно воспользоваться Excel. Формула преобразования будет выглядеть так

=IF(A1>0; DATE(1601;1; 1) +A1 /600000000/1440;" ")

, где A1 – ячейка, содержащая Timestamp

Мне лично нравится преобразование Lastlogontimestamp в нормальное время с помощью Excel, а в сочетании с методикой извлечения информации из Active Directory прямо в Excel , узнать время последнего входа в систему всех пользователей (компьютеров) домена стало еще проще, тем самым можно периодически очищать базу AD от устаревших записей.

admin

Share
Published by
admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

2 недели ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

2 недели ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

2 недели ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

2 недели ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

2 недели ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

2 недели ago