Active Directory inventarisieren ohne RSAT
Microsoft hat RSAT (Remote Server Administration Tools) seit Windows 10 1809 aus dem klassischen Installer entfernt — seither braucht man pro Workstation einen Feature-on-Demand-Download, oft mit Internet-Anbindung. Für ein einmaliges AD-Audit ist das übertrieben. Wir zeigen, wie ein vollständiges Active-Directory-Inventar auch komplett ohne RSAT, ohne ADUC und ohne ActiveDirectory-PowerShell-Modul gelingt — mit einem nativen LDAP-Client.
Warum ohne RSAT?
RSAT installiert eine GPMC, ADUC, DNS-Konsole und das gesamte ActiveDirectory-PowerShell-Modul. Für ein Audit braucht man davon meist nur die Lese-Rolle: User, Gruppen, OUs, Computer-Objekte und Berechtigungen. Drei konkrete Gründe, warum ein RSAT-freier Workflow oft besser passt:
- Compliance: Auf abgeschotteten Audit-Workstations darf oft kein neues Feature installiert werden, ohne dass es erst durch den Patch-Test-Zyklus läuft.
- Reproduzierbarkeit: Ein Audit-Skript, das auf einer „nackten" Windows-10-Installation oder sogar von Linux aus läuft, ist leichter zu wiederholen als eines, das eine bestimmte RSAT-Version voraussetzt.
- Geschwindigkeit: Die ADUC-MMC ist für 50 OUs gedacht; bei mehreren Tausend Objekten wird sie langsam. Direkt-LDAP ist deutlich performanter.
Schritt 1: Service-Account vorbereiten
Für ein reines Lese-Audit reicht ein Domain-User mit minimalen Rechten. Die Standardrolle „Domain Users" hat bereits Lesezugriff auf die Standard-AD-Container.
# auf einem DC ausführen, oder von einem Admin-Konto mit AD-Rechten:
New-ADUser -Name "audit-readonly" `
-SamAccountName "audit-readonly" `
-AccountPassword (Read-Host -AsSecureString) `
-Enabled $true `
-Description "Service-Account für Read-Only-AD-Audits"
Best Practice: vergeben Sie das Passwort über einen Password-Manager (KeePass, 1Password, Bitwarden) und protokollieren Sie es in Ihrem Service-Account-Register. Aktivieren Sie zusätzlich eine 30-Tage-Erinnerung, das Passwort zu rotieren, und löschen Sie das Konto nach Abschluss des Audits, wenn es nicht regelmäßig gebraucht wird.
Schritt 2: Verbindung zum Domain-Controller testen
LDAP läuft standardmäßig auf TCP 389 (LDAPS auf 636). Prüfen Sie zunächst, ob der DC vom Audit-Host aus erreichbar ist:
Test-NetConnection -ComputerName dc01.example.local -Port 389
# oder ohne Powershell-Modul:
ping dc01.example.local
nslookup dc01.example.local
curl -v telnet://dc01.example.local:389
Schritt 3: AD-Daten direkt per LDAP abfragen
Statt RSAT zu installieren, benutzen Sie eine native LDAP-Abfrage. Drei populäre Wege:
Variante A: Mit ldapsearch (Linux / macOS / Windows mit OpenLDAP-Tools)
ldapsearch -x \
-H ldap://dc01.example.local \
-D "audit-readonly@example.local" \
-W \
-b "DC=example,DC=local" \
"(objectClass=user)" \
cn sAMAccountName lastLogonTimestamp memberOf
Variante B: Mit ADSI / .NET in PowerShell — ohne RSAT
# PowerShell, läuft auf jeder Windows-Maschine ohne RSAT
$ldap = [adsisearcher]"(objectClass=user)"
$ldap.SearchRoot = [adsi]"LDAP://DC=example,DC=local"
$ldap.PropertiesToLoad.AddRange(@("sAMAccountName","lastLogonTimestamp","memberOf"))
$ldap.PageSize = 1000
$ldap.FindAll() |
ForEach-Object { $_.Properties } |
Select-Object @{N="user";E={$_["sAMAccountName"][0]}}, @{N="lastLogon";E={[datetime]::FromFileTime($_["lastLogonTimestamp"][0])}}
Variante C: Mit ITscanner — Klick statt Skript
Wenn Sie kein Skript schreiben wollen oder das Audit reproduzierbar dokumentieren müssen, übernimmt ITscanner diesen Schritt mit einem nativen Go-LDAP-Client. Hinterlegen Sie im Tab „Verbindungstest" Domain-Controller, Bind-DN und Passwort des Audit-Service-Accounts — der Scan liefert User-, Gruppen-, OU-, GPO- und Computer-Objekte als Excel oder PDF-Bericht. Kein RSAT-Setup, kein PowerShell-Modul, keine Internet-Verbindung nötig.
Was lässt sich aus dem reinen LDAP-Audit ableiten?
- Inaktive Konten erkennen Sie über
lastLogonTimestamp> 90 Tage. Das ist BSI-Grundschutz-Pflichtprüfung (Baustein ORP.4). - Privilegierte Gruppen (Domain Admins, Enterprise Admins, Schema Admins) sollten so wenig Mitglieder wie möglich haben — typisch unter 5 in einem KMU.
- Verschachtelte Gruppen-Mitgliedschaften (User → Gruppe → Gruppe → Berechtigung) sind eine häufige Ursache für „kalte" Berechtigungen, die niemand mehr nachvollziehen kann.
- OU-Hierarchie sollte zu Ihrer Organisations- oder Standortstruktur passen; flache OU-Strukturen ohne Trennung von Servern, Workstations und Test-Systemen sind ein roter Punkt im Audit.
- GPO-Bindungen sollten dokumentiert sein. Mehr als 30 GPOs in einem KMU sind oft ein Zeichen, dass historisch nichts aufgeräumt wurde.
Sicherer Anschluss: LDAPS statt LDAP
Klartext-LDAP über Port 389 sollte nur in völlig isolierten Audit-Netzen verwendet werden. Im normalen Domain-Netz erzwingen Sie LDAPS (Port 636) oder StartTLS auf 389. ITscanner versucht standardmäßig zuerst LDAPS und fällt erst auf 389 zurück, wenn der DC kein Zertifikat ausgerollt hat.
Häufiger Fallstrick: lastLogonTimestamp
Das Attribut wird nur alle 9–14 Tage repliziert (Standard-Windows-Verhalten), nicht in Echtzeit. Wenn Sie tatsächlich exakt aktuelle Login-Daten brauchen, müssen Sie pro DC lastLogon abfragen und das Maximum bilden — das macht ITscanner automatisch, wenn mehrere DCs in der Konfiguration stehen.
Audit jetzt automatisieren
Ein nativer LDAP-Audit, BSI-Grundschutz-Bericht, NFS-Detection und Software-Inventar — alles in einem Tool, lokal, ohne Cloud, 49,50 € pro Jahr Flat-Rate. 14 Tage kostenlos testen ohne Kreditkarte.
ITscanner herunterladen Vergleich zu Docusnap & Co.