Необходимо экспортировать таблицу с именами пользователей (samAcountNames) вместе с их датой и временем последнего входа на конкретный сервер в сети (который является членом домена).

Согласно поиску Google, я могу сделать это только как дату \ время последнего входа в систему с контроллера домена или с определенного сервера, но без имени пользователя или только даты \ времени входа последнего пользователя.

На самом деле, я нашел скрипт, который использует журнал событий безопасности и должен быть запущен на целевом сервере, но я не могу удалить дубликаты, которые он создал:

UserName  : admin_le
LoginTime : 17.02.2015 15:36:04

UserName  : admin_le
LoginTime : 17.02.2015 15:36:04

UserName  : admin_le
LoginTime : 17.02.2015 15:36:04

UserName  : admin_le
LoginTime : 17.02.2015 15:36:00

UserName  : admin_le
LoginTime : 17.02.2015 15:36:00

UserName  : admin_le
LoginTime : 17.02.2015 15:36:00

UserName  : admin_le
LoginTime : 17.02.2015 15:36:00

Сам скрипт:

$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 > c:\export.log

Благодарю.

1 ответ1

0

Передать $ eventList для sort -Property LoginTime -Unique .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .