0 Pluspunkte 0 Minuspunkte

Ich lese Einträge mit Powershell aus dem EventLog und speichere sie in einer Liste

# Durchlaufe die Audit-Ereignisse in umgekehrter Reihenfolge und extrahiere Zugriffsinformationen

foreach ($Event in $AuditEvents.Reverse()) {

    Write-Host "Event ID: $($Event.Id)"
    Write-Host "Time Created: $($Event.TimeCreated)"

    # Extrahiere die Zugriffsinformationen aus der Ereignisnachricht
    $AccessInfo = ($Event.Message | Select-String -Pattern "Accesses:\s*(.+)" | ForEach-Object { $_.Matches.Groups[1].Value }) -split ', ' | Select-Object -Unique

    Write-Host "Accesses: $($AccessInfo -join ', ')"

    Write-Host "Message: $($Event.Message)"
    Write-Host "`n--------------------------------------------------`n"

}

aber ich kann die Liste nicht umdrehen dann kommt der Fehler

Method invocation failed because [System.Diagnostics.Eventing.Reader.EventLogRecord] does not contain a method named 'Reverse'. At line:17 char:20 + foreach ($Event in $AuditEvents.Reverse()) { + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : MethodNotFound
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Die Methode Reverse() kann nicht auf das $AuditEvents Array direkt angewendet werden kann, da es sich um ein Objekt vom Typ [System.Diagnostics.Eventing.Reader.EventLogRecord] handelt.Du kannst die Ergebnisse statt dessen in einer for Schleife ausgeben.

# Durchlaufe die Audit-Ereignisse in umgekehrter Reihenfolge und extrahiere Zugriffsinformationen
for ($i = $AuditEvents.Count - 1; $i -ge 0; $i--) {

    $Event = $AuditEvents[$i]

    Write-Host "Event ID: $($Event.Id)"
    Write-Host "Time Created: $($Event.TimeCreated)"

    # Extrahiere die Zugriffsinformationen aus der Ereignisnachricht
    $AccessInfo = ($Event.Message | Select-String -Pattern "Accesses:\s*(.+)" | ForEach-Object { $_.Matches.Groups[1].Value }) -split ', ' | Select-Object -Unique
    Write-Host "Accesses: $($AccessInfo -join ', ')"

    Write-Host "Message: $($Event.Message)"
    Write-Host "`n--------------------------------------------------`n"

}
von (396 Punkte)