none
Powershell и аудит Windows. Как извлечь логи по определённым событиям с удалённого ПК? RRS feed

  • Общие обсуждения

  • Добрый день!
    У меня стоит интерес вывести все логи с определённого удалённого ПК по определённому пользователю за два дня
    Скрипт примерно выглядит вот так
    #Берем логи за два дня
    $starttime = (get-date).adddays(-2)
    #Определение имени ПК
    $HostS = "172.30.6.33"
    #Определение пользователя
    $UserN = "[Учетная запись]"
    $NamePC = (Get-ADComputer -Filter {IPv4Address -eq $HostS}).Name
    #Вывод логов за два дня по входу/выходу
    $Events=Get-EventLog -ComputerName $NamePC -After $starttime -LogName Security  | Where-Object { ($_.Message -match $UserN) -and (
        ($_.InstanceID -eq 4800)-or 
        ($_.InstanceID -eq 4801) -or 
        ($_.InstanceID -eq 1024) -or 
        ($_.InstanceID -eq 4624 -and (
            ($_.Message -match 'Тип входа:		2') -or ($_.Message -match 'Тип входа:		7')-or ($_.Message -match 'Тип входа:		10')
          )
        )
      )
    }
    #Определение формата вывода
    $Data = New-Object System.Management.Automation.PSObject
    $Data| Add-Member NoteProperty Time($null)
    $Data| Add-Member NoteProperty UserName($null)
    $Data| Add-Member NoteProperty IPAddress($null)
    $Data| Add-Member NoteProperty Msg($null)
    $Events | %{
    $Data.time=$_.TimeGenerated
    $message = $_.Message.Split("`n")|%{$_.TrimStart()}|%{$_.TrimEnd()}
    $Data.UserName = ($message|?{$_ -like "Имя учетной записи:*" -and $_-notlike "*$"})|%{$_ -replace"^.+:.+\s"}
    $Data.IPAddress = ($message|?{$_ -like "Сетевой адрес источника:*"})|%{$_ -replace"^.+:."}
    $Data.Msg = ($message|Select-Object -First 1)
    $Data | Sort-Object Time |ft -Property UserName,IPAddress, Msg -GroupBy Time -AutoSize
    }
    Но в текущем виде данный скрипт ОООЧЕНЬ сильно забивает сам журнал с логами (за три запуска 80 МБайт :) ) и выполняется минут 5-10
    Есть ли какие-то способы решения данной проблемы?
    Например через другой командлет, или можно как то подправить/оптимизировать  текущий?
    8 февраля 2021 г. 4:16