Как найти дату создания учетной записи локального пользователя?

У Вас есть программное обеспечение агента управления HP установленным? Вы упоминаете журналы событий Windows и журналы резервного копирования, но не "аппаратные" журналы. Необходимо посмотреть там также, потому что спонтанные завершения работы могли бы быть связаны с аппаратной проблемой, о которой Вы не сможете видеть информацию где-либо еще.

8
задан 11 April 2014 в 22:26
5 ответов

Данные находятся в SAM, но, похоже, они не задокументированы Microsoft публично, и я не нахожу официального API для их получения. Глядя на исходный код утилиты chntpw , я вижу, что значение хранится в разделе реестра «F» для каждой учетной записи. Процитируйте исходный код:

#define USER_F_PATH "\\SAM\\Domains\\Account\\Users\\%08X\\F"

struct user_F {
  ...
  char t_creation[8]; /* Time of account creation */
  ...
}

В криминалистическом проекте regripper есть плагин, samparse , который сообщит дату создания учетной записи.

Инструмент судебной экспертизы, вероятно, не то, что вам нужно , но похоже, что Microsoft не упрощает эту задачу.


Исследуя это, я нашел забавным, что Microsoft MVP не знал, что данные для создания учетной записи хранятся в SAM . К его выгоде, возможно, он не откажется от утилиты chntpw ,

10
ответ дан 2 December 2019 в 23:04

Единственный способ узнать это на самом деле - это включить аудит управления учетной записью на вычислительном r при создании учетной записи. Тогда вы увидите EventID 4720 в журнале событий на дату создания. (В статье говорится об Active Directory, но то же самое применимо и к локальным учетным записям; я проверил.)

Без этого лучше всего проверить дату создания в кусте реестра пользователя, ntuser.dat , папка профиля пользователя и т. Д., Но, как упоминалось в комментариях, это верно только в отношении первого входа пользователя в систему, поскольку именно тогда эти вещи создаются.

К сожалению для вас, это случай «если если вы не зарегистрировали его, значит, такой информации не существует ".

3
ответ дан 2 December 2019 в 23:04

Я собирался дать Вам скрипт POC PowerShell для извлечения и разбора времени создания, но понял, что chntpw логика неверна. Значение, которое она называет временем создания, на самом деле является последним установленным временем пароля, хотя эти значения одинаковы при первоначальном создании учетной записи. Смотрите здесь для исчерпывающего описания SAM.

вторая ссылка Эвана, для samparse , может быть, все же получится правильно. Глядя на это, он действительно работает. Если вы посмотрите на его источник здесь , строка 99:

$c_date = $create->get_timestamp();

, вы увидите, что он вызывает get_timestamp из Perl's Parse::Win32Registry. Я уверен, что на самом деле это последнее время записи ключа. Так как оказывается, что конкретный ключ (HKLM\SAM\SAM\Domains\Account\Users\Names\) содержит только указатель на соответствующий ключ RID, то после создания он не должен измениться и последнее время записи будет равно времени создания.

Я хочу использовать больше встроенных инструментов, вот серия статей Scripting Guy, объясняющих, как с помощью PowerShell:

Use PowerShell to Access Registry Last-Modified Time Stamp

Reusing PowerShell Registry Time Stamp Code

Create a Proxy Function to Display Registry Key Time Stamps

Leverage Registry Key Time Stamps through PowerShell

1
ответ дан 2 December 2019 в 23:04

Перейдите через Мой компьютер на

C:\Users и вы увидите все учетные записи пользователей, перечисленные на локальной машине. Вы можете щелкнуть правой кнопкой мыши на соответствующую учетную запись пользователя и перейти к свойствам, и она покажет вам дату создания, это должно быть то же самое, что и создание учетной записи пользователя

Только мои 2 цента

.
-5
ответ дан 2 December 2019 в 23:04

Эта команда в PowerShell должна помочь:

systeminfo | findstr /C:"Install Date"
-3
ответ дан 2 December 2019 в 23:04

Теги

Похожие вопросы