Hinzufügen einer Überwachungsregel zu einer Active Directory-Organisationseinheit mit Powershell

Hinzufügen einer Überwachungsregel zu einer Active Directory-Organisationseinheit mit Powershell

Im folgenden Powershell-Skript sammle ich Active Directory-Überwachungsregeln für eine bestimmte Organisationseinheit, überprüfe, ob Überwachungsregeln für einen Fehler vorhanden sind, und füge eine Fehlerüberwachungsregel hinzu, wenn keine vorhanden ist. Alles funktioniert bis zum letzten Schritt, dem Hinzufügen der Fehlerregel. Es gibt keine Fehlermeldung, aber die neue Regel wird nicht im Active Directory angezeigt.

#find the needed OU
Import-Module activedirectory
Set-Location ad:
dir

#get an acl object based for the OU
$acl = Get-Acl -Path "DC=something,DC=somethingElse" -Audit
$auditRules = $acl.GetAuditRules(1,1,[System.Security.Principal.SecurityIdentifier])
$foundFailRule = $false
foreach ($rule in $auditRules) {
    if ($rule.AuditFlags -ieq "Failure") {
        $foundFailRule = $true
        break
    }
}
if ($foundFailRule -eq $true) {
    Write-Host "Found fail rule.  No action needed."
}
else {
    #find the IdentityReference from the first audit rule entry in the OU
    $identityReference = $auditRules[0].IdentityReference
    $activeDirectoryRights = "GenericAll"
    $auditFlags = "Failure"
    $failAuditRule = New-Object System.DirectoryServices.ActiveDirectoryAuditRule $identityReference, $activeDirectoryRights, $auditFlags
    $acl.AddAuditRule($failAuditRule)
}

Ich bin nicht sicher, ob das wichtig ist, aber mir ist aufgefallen, dass in den Standard-Audit-Regeln für die Organisationseinheit ObjectType und InheritedObjectType manchmal eine Zeichenfolge mit ausschließlich Nullen sind und manchmal einige Daten ungleich Nullen enthalten. Mit der obigen Konstruktormethode sind diese Eigenschaften standardmäßig alle Nullen.

Irgendeine Idee, warum die AddAuditRule-Methode keine neue Regel für die Organisationseinheit generiert? Da kein Fehler vorliegt, wird möglicherweise eine Regel hinzugefügt, die jedoch an einer unerwarteten Stelle im Active Directory eingetragen wird?

verwandte Informationen