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