1 Pluspunkt 0 Minuspunkte
Kann ich irgendwie alle Änderungen in Active Directory protokollieren um es im Nachhinein nachverfolgen zu können? Also z.B wenn ein neuer Benutzer oder eine Gruppe angelegt, bearbeitet oder auch gelöscht wird.
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Du kannst die Aktionen aus dem Eventlog extrahieren. Die relevanten Ereignis-IDs für AD-Änderungen sind

  • 5136: Ein Objekt wurde geändert
  • 5137: Ein Objekt wurde erstellt
  • 5138: Ein Objekt wurde undeleted
  • 5139: Ein Objekt wurde bewegt

# Definieren Sie den Zeitraum für die Überwachung (z.B. der letzte Tag)
$startDate = (Get-Date).AddDays(-1)

$counter = 0

Get-WinEvent -FilterHashtable @{LogName='Security'; ID=@(5136, 5137, 5138, 5139); StartTime=$startDate} | ForEach-Object {

    $event = [xml]$_.ToXml()
    $eventID = $_.Id
    $timeCreated = $_.TimeCreated
    $user = ($event.Event.EventData.Data | Where-Object { $_.Name -eq "SubjectUserName" }).'#text'
    $objectType = ($event.Event.EventData.Data | Where-Object { $_.Name -eq "ObjectClass" }).'#text'
    $objectDN = ($event.Event.EventData.Data | Where-Object { $_.Name -eq "ObjectDN" }).'#text'
    $attributeChanged = ($event.Event.EventData.Data | Where-Object { $_.Name -eq "AttributeLDAPDisplayName" }).'#text'
    $newValue = ($event.Event.EventData.Data | Where-Object { $_.Name -eq "AttributeValue" }).'#text'

    #if($user -eq "SYSTEM") { continue }

    # Ausgabe der Informationen über die Änderungen
    Write-Output "Ereignis-ID: $eventID"
    Write-Output "Zeit: $timeCreated"
    Write-Output "Benutzer: $user"
    Write-Output "Objekttyp: $objectType"
    Write-Output "Objekt DN: $objectDN"
    Write-Output "Geändertes Attribut: $attributeChanged"
    Write-Output "Neuer Wert: $newValue"
    Write-Output "-----------------------------"

    $counter += 1

}

$counter
von (776 Punkte)