Как получить все время входа в систему для конкретной учетной записи пользователя

Я знаю, как использовать средство просмотра событий, чтобы проверить, кто и когда вошел в систему. Но я пытаюсь выяснить для конкретной локальной учетной записи пользователя, скажем, администратора, каковы дата и время входа в систему для этого конкретного пользователя на этой машине. Я использую этот сценарий, и он показывает мне общее количество входов в систему, но не когда все. Сценарий приведен ниже.

'Get our list of logons
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkLoginProfile",,48)

'Converts to a readable logon date and time function ConvertTime(sTime)
if (sTime="**************.******+***") then
ConvertTime = "Unknown"
else
if (Trim(sTime)="") then
sTime="Unknown"
else
 sYear = Mid(sTime,1,4)
 sMonth = Mid(sTime,5,2)
 sDay = Mid(sTime,7,2)
 sHour = Mid(sTime,9,2)
 sMin = Mid(sTime,11,2)
 sSec = Mid(sTime,13,2)
end if 
ConvertTime = sMonth & "/" & sDay & "/" & sYear & " (" & sHour & ":" & sMin & ":" & sSec & ")"
end if
end function

'Loops through our logon items and only pulls out the 
'user accounts...not system accounts that are used
'internally by windows

For Each objItem in colItems
 if (objItem.UserType = "Normal Account") then
 Wscript.Echo objItem.Name & vbCrLf
 Wscript.Echo " Last Logon: " & ConvertTime(objItem.LastLogon)
 Wscript.Echo " Number of Logons: " & objItem.NumberOfLogons 
  if (objItem.Privileges=0) then
   WScript.Echo " (Guest Account)"
  else if (objItem.Privileges=1) then
   WScript.Echo " (Standard User Account)"
   else if (objItem.Privileges=2) then
    WScript.Echo " (Administrator Account)"
   end if
 end if
end if
WScript.Echo vbCrLf
end if  
Next

Отредактировано для отображения ожидаемого результата

Username: LocalPC\Administrator
Logon time: ------
Username: LocalPC\Administrator
Logon time: ------

Кто-нибудь, пожалуйста, скажите мне, как я могу изменить этот сценарий или есть ли какой-либо другой способ проверить то же самое самым простым способом как можно скорее? Заранее спасибо.

0
задан 13 April 2016 в 19:21
3 ответа

Многие сценарии PowerShell, подобные этому PDXCAT LogonHistory после конвейера для выбора конкретного пользователя.

0
ответ дан 24 November 2019 в 06:47

В Technet есть много подобных сценариев:

Security Logon / Logoff Event Reporter Этот сценарий считывает журнал безопасности, а затем отображает хронологическую запись локальных и удаленных операций входа и выхода, включая неудачные попытки, если они включены в групповой / локальной политике. При желании он позволяет вводить диапазон дат и имя удаленного хоста.

https://gallery.technet.microsoft.com/Log-Parser-to-Identify-8aac36bd

0
ответ дан 24 November 2019 в 06:47

Я не могу помочь со сценарием, но если вам нужна информация в спешке и если вы используете Server 2012 или Server 2012R2, есть функция IPAM. Часть функции IPAM позволяет вам искать информацию, собранную из AD, DNS и DHCP. вы можете искать по имени пользователя,Имя машины или IP-адрес. он может дать вам все, что вам нужно. IPAM предназначен для управления DHCP, но у него есть функция, называемая отслеживанием IP-адресов https://technet.microsoft.com/en-us/library/jj878332.aspx , в этой статье TechNet это объясняется, она показывает время событий. Кроме того, если у вас есть доступ к управлению групповой политикой, вы можете использовать результаты групповой политики, чтобы просмотреть подключенный к домену компьютер и узнать, кто вошел в систему. отчет включает информацию о том, когда произошел последний вход в систему.

0
ответ дан 24 November 2019 в 06:47

Теги

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