Я знаю, как использовать программу просмотра событий, чтобы проверить, кто и когда вошел в систему. Но я пытаюсь выяснить для конкретной учетной записи локального пользователя, скажем администратора, каковы дата и время входа в систему для этого конкретного пользователя на этой машине. Я использую этот сценарий, и он показывает мне общее количество входов в систему, но не когда все. Сценарий приведен ниже.
'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: ------
Может кто-нибудь, пожалуйста, скажите мне, как я могу изменить этот скрипт или есть какой-либо другой способ проверить то же самое самым простым способом как можно скорее? Заранее спасибо.
Я не могу помочь со сценарием, но если вам нужна информация в спешке, и если вы используете Server 2012 или Server 2012R2, есть функция под названием IPAM. Часть функции IPAM позволяет вам искать информацию, собранную из AD, DNS и DHCP. вы можете искать по имени пользователя, имени компьютера или IP-адресу. он может дать вам все, что вам нужно. IPAM предназначен для управления DHCP, но имеет функцию, называемую отслеживанием IP-адресов. https://technet.microsoft.com/en-us/library/jj878332.aspx эта статья TechNet объясняет это, она показывает время событий. Также, если у вас есть доступ к управлению групповой политикой, вы можете использовать результаты групповой политики, чтобы посмотреть на подключенный к домену компьютер и узнать, кто вошел в систему. отчет включает информацию о том, когда произошел последний вход в систему.
В Technet есть много таких скриптов:
Журнал безопасности Logon / Logoff Event Reporter Этот сценарий читает журнал безопасности, а затем отображает хронологическую запись локальных и удаленных операций входа и выхода, включая неудачные попытки, если они включены в групповой / локальной политике. При желании он позволяет вводить диапазон дат и имя удаленного хоста.
https://gallery.technet.microsoft.com/Log-Parser-to-Identify-8aac36bd
Многие сценарии PowerShell, подобные этому История входа в систему PDXCAT после конвейера для выбора конкретного пользователя.