Я пытаюсь получить последний вход пользователя в систему на некоторых машинах Windows, используя WMI, но по какой-то причине эта информация отличается для разных команд, когда я думаю, что они должны быть одинаковыми.
Первая командаЯ использую это: PATH Win32_NetworkLoginProfile WHERE "Name='DOMAIN\\fakeuser'" GET LastLogon
.Результат для него выглядит следующим образом:
LastLogon
20181206093540.000000-480
Вторая команда: PATH Win32_NTLogEvent WHERE "(EventIdentifier =4648 OR EventIdentifier = 4647 OR EventIdentifier = 4634)" GET CategoryString, TimeGenerated, InsertionStrings
Результат как ниже (после некоторой обработки, чтобы найти последнюю запись категории "Вход в систему", связанную с "fakeuser", так как команда возвращает много информации):
CategoryString
Logon
InsertionStrings
{"S-1-5-21-3457937927-2839227994-823803824-1104", "DOMAIN $", "DOMAIN", "0x3e6", "{00000000-0000-0000-0000-000000000000} " "fakeuser", "область", "{00000000-0000-0000-0000-000000000000}", "локальные", "локальная", "0x64c"," C: \Windows \ System32 \ svchost.exe "," 999.999.99.999 "," 0 "}
TimeGenerated
20181206173540.580545-000
Что я понимаю для этихдве команды, LastLogon
в первом результате должны совпадать с TimeGenerated
во втором.Я что-то неправильно понял?
В своем предварительном исследовании я обнаружил возможную ошибку в метках времени WMI , но я не знаю, является ли это той же проблемой.
Некоторая дополнительная информация:
Эти команды выполняются с использованием сценария, который устанавливает удаленное соединение с использованием соединения WinRM (порты 5985 и 5986), а затем выполняет команды для получения информации, но ятакже попытался подключиться к компьютеру с помощью RDP и выполнить его в Powershell с wmic PATH...
.Результат тот же.
Я протестировал его в Windows 10, а также в Windows Server 2012, но сценарий будет использоваться в некоторых других версиях Windows.
Чтобы получить номера событий для класса журнала, я использовал эту ссылку
После первого комментария я заметил, что проблема в часовых поясах,Есть ли способ установить часовой пояс напрямую в этих командах или преобразовать часовой пояс между ними?