Я пытаюсь написать что-то в powershell и совершенно новое для powershell, мне нужна помощь. Я пытаюсь получить информацию из журнала безопасности. В частности, последний логин для пользователей за последние две недели. Код, который у меня есть, получает логин для идентификатора события 4624 на основе последних 100 событий. Это также возвращает не только пользователей, но и компьютеры. Как я могу ограничить результаты только для пользователей в течение двух недель? Это вообще возможно?
$eventList = @()
Get-EventLog "Security" -After $Date `
| Where -FilterScript {$_.EventID -eq 4624 -and $_.ReplacementStrings[4].Length -gt 10} `
| foreach-Object {
$row = "" | Select UserName, LoginTime
$row.UserName = $_.ReplacementStrings[5]
$row.LoginTime = $_.TimeGenerated
$eventList += $row
}
$eventList
РЕДАКТИРОВАТЬ: Решено с кодом
$Date = [DateTime]::Now.AddDays(-14)
$Date.tostring("MM-dd-yyyy"), $env:Computername
$eventList = @()
Get-EventLog "Security" -After $Date `
| Where -FilterScript {$_.EventID -eq 4624 -and $_.ReplacementStrings[4].Length -gt 10 -and $_.ReplacementStrings[5] -notlike "*$"} `
| foreach-Object {
$row = "" | Select UserName, LoginTime
$row.UserName = $_.ReplacementStrings[5]
$row.LoginTime = $_.TimeGenerated
$eventList += $row
}
$eventList