Мне дали задачу создать отчет содержащий следующую информацию: Имя пользователя,
OU, и Время последнего входа в систему. Достаточно легко, правда? Я вошел в
систему к одному из серверов как администратор и выполнил:
Это работает отлично, но даты в Excel шокировали. "Нормальное" время это число секунд с полуночи 1/1/1970. А время в Active Directory в формате UTC, 64битное число миллисекунд после 1/1/1601 деленное на 100.
Формула для конвертации Active Directory LastLogon or LastLogonTimestamp:
Вот и все. Вставляем формулу и меняем формат ячейки на "Дата". Время будет в GMT.
F:\ csvde -r "(objectClass=user)" -f output.csv -l cn,givenName,sn,n,ou,lastLogon
Это работает отлично, но даты в Excel шокировали. "Нормальное" время это число секунд с полуночи 1/1/1970. А время в Active Directory в формате UTC, 64битное число миллисекунд после 1/1/1601 деленное на 100.
Формула для конвертации Active Directory LastLogon or LastLogonTimestamp:
=IF(C2>0; 0,C2/(8,64*10^11) - 109205, "")
- C2 - ячейка которая содержит в себе Timestamp из AD.
- Конструкция If() служит для сокрытия значений для тех пользователей, которые никогда не логинились
- (8.64*10^11) - число миллисекунд в дне деленное на 100.
- 109205 - число дней прошедших с 1601 по 1900. (Напоминаю, 1900 в excel это начало отчета для дат)
Вот и все. Вставляем формулу и меняем формат ячейки на "Дата". Время будет в GMT.
Комментариев нет:
Отправить комментарий