Загрузка данных


# Выполнять на контроллере домена или с правами на чтение журналов безопасности DC
$AccountName = "myservice"
$DCs = (Get-ADDomainController -Filter *).Name

foreach ($DC in $DCs) {
    Write-Host "Поиск на контроллере домена: $DC"
    try {
        Get-WinEvent -ComputerName $DC -FilterHashtable @{
            LogName      = 'Security'
            ID           = 4624
            StartTime    = (Get-Date).AddDays(-7) # Период поиска
        } -ErrorAction Stop | Where-Object { $_.Properties[5].Value -eq $AccountName } |
        Select-Object TimeCreated, @{n='TargetUser';e={$_.Properties[5].Value}}, @{n='SourceComputer';e={$_.Properties[18].Value}}, @{n='LogonType';e={$_.Properties[8].Value}}
    } catch {
        Write-Warning "Не удалось прочитать журнал на $DC"
    }
} | Format-Table -AutoSize