Überwachung des Active Directory

Wir sind derzeit dabei, unser altes Monitoring von Server-Eye abzulösen und nutzen die vorgefertigte Active Directory Überwachung.
Leider bietet Riverbird keine Active Directory Prüfung an. Daher wollte ich nachfragen, ob Ihr euer Active Directory „überwacht“ und wenn ja, wie ihr das tut.

LG

1 „Gefällt mir“

Define NTDS performance counters

$ntdsCounters = @(
„\NTDS\DRA Inbound Properties Total/sec“,
„\NTDS\DRA Inbound Object Updates Remaining in Packet“,
„\NTDS\LDAP Searches/sec“,
„\NTDS\LDAP Client Sessions“,
„\NTDS\LDAP Bind Time“,
„\NTDS\NTLM Binds/sec“
)

Check if NTDS counters exist and get their values

foreach ($counter in $ntdsCounters) {
try {
$counterValue = Get-Counter -Counter $counter
Write-Output „Counter: $counter“
Write-Output „Value: $($counterValue.CounterSamples[0].CookedValue)“
} catch {
Write-Output „Failed to retrieve $counter: $_“
}
}

Check if Database performance counter category exists

if (Get-CategoryExists „Database“) {
# Define Database performance counters
$instanceNames = (Get-Counter -ListSet „Database“).CounterSet.Instances
foreach ($instanceName in $instanceNames) {
if ($instanceName -eq „lsass“ -or $instanceName -eq „ntfrs“) {
$dbCounters = @(
„\Database($instanceName)\Database Cache % Hit“,
„\Database($instanceName)\Database Page Faults/sec“,
„\Database($instanceName)\Log Threads Waiting“
)

        foreach ($counter in $dbCounters) {
            try {
                $counterValue = Get-Counter -Counter $counter
                Write-Output "Counter: $counter"
                Write-Output "Value: $($counterValue.CounterSamples[0].CookedValue)"
            } catch {
                Write-Output "Failed to retrieve $counter: $_"
            }
        }
    }
}

} else {
Write-Output „Database performance counter category does not exist.“
}

Check DFRS Connection and Replication of Domain Controllers

try {
$dfrsConnection = Get-WmiObject -Namespace „root\MicrosoftDFS“ -Class „DfsrConnectionInfo“
Write-Output „DFRS Connection:“
Write-Output $dfrsConnection

$replication = Get-WmiObject -Namespace "root\MicrosoftDFS" -Class "DfsrVolumeConfig"
Write-Output "Replication of Domain Controllers:"
Write-Output $replication

} catch {
Write-Output „Failed to retrieve DFRS or Replication information: $_“
}

function Get-CategoryExists {
param (
[string]$categoryName
)

$categories = Get-Counter -ListSet *
foreach ($category in $categories) {
    if ($category.CounterSetName -eq $categoryName) {
        return $true
    }
}
return $false

}

Mir ist das jetzt schon öfters hier im Forum aufgefallen das wohl die Skripte samt #Kommentaren (welche) Markdownüberschriften sind, komisch landen.

mitttels

```

HIER
KOMMT
DER
CODE

```

sollte das besser aussehen.
(Das war natürlich extra mittels ` \ ` \ ` \ geschrieben.

Trotzdem danke auch von mir :smile:

1 „Gefällt mir“