Modulseite

Lektion 1 von 9

Active Directory verstehen: Domäne, DC und LDAP-Namen

Du weisst, was ein Verzeichnisdienst leistet, kennst Domäne, Domänencontroller, Gesamtstruktur und Objekte und liest und baust Distinguished Names sicher.

ca. 40 Min.0/6 Checks gelöst

Worum es geht

Die Stiftung Sonnenhalde betreut Menschen mit Beeinträchtigung in drei Wohnhäusern, einer Werkstatt und einer Verwaltung. 140 Mitarbeitende, rund 90 PCs, ein NAS. Bis heute hat jeder PC eigene, lokale Benutzerkonten. Wechselt eine Pflegefachfrau vom Haus Nord ins Haus Süd, braucht sie dort ein neues Konto. Verlässt jemand die Stiftung, muss die IT auf jedem Gerät einzeln nachsehen, wo noch ein Konto existiert. Und das Passwort des NAS kennen inzwischen gefühlt alle.

Das ist der typische Zustand, bevor ein Betrieb einen Verzeichnisdienst einführt. Ab einer Handvoll Personen wird es unübersichtlich, ab 100 Personen ist es nicht mehr verwaltbar. Die Lösung, die du in fast jedem Schweizer KMU, Spital, Heim und jeder Gemeinde antriffst, heisst Active Directory (AD).

In dieser ersten Lektion verstehst du, was AD ist, aus welchen Bausteinen es besteht und wie Programme Objekte eindeutig ansprechen. Du lernst, einen Distinguished Name zu lesen und selbst zu bauen. Das klingt trocken, begegnet dir aber in jedem PowerShell-Befehl, jeder Gruppenrichtlinie und jeder Fehlermeldung.

Vom lokalen Konto zum Verzeichnis

Stell dir ein Gebäude vor, in dem jede Tür ein eigenes Schloss und einen eigenen Schlüsselbund hat. Wer neu kommt, bekommt zwanzig Schlüssel. Wer geht, gibt hoffentlich alle zurück. Genau so funktionieren lokale Konten: Jeder PC führt seine eigene Benutzerliste (die lokale SAM-Datenbank) und weiss nichts von den anderen.

Ein Verzeichnisdienst ersetzt die Schlüsselbunde durch ein zentrales Badgesystem. Jede Person hat einen Badge, eine zentrale Stelle prüft ihn, und welche Türen er öffnet, hängt an der Rolle der Person. Wird der Badge gesperrt, öffnet er sofort keine Tür mehr, egal in welchem Haus.

AufgabeMit lokalen KontenMit Active Directory
Neue MitarbeiterinKonto auf jedem genutzten PC und NAS anlegenEin Konto, gilt auf allen Domänen-PCs
Passwort ändernPro Gerät, Passwörter laufen auseinanderEinmal, gilt überall
AustrittAlle Geräte absuchenKonto deaktivieren, sofort wirksam
Einstellungen verteilenVon Hand an jedem PCZentral per Gruppenrichtlinie
Wer darf was?Auf jedem Gerät nachsehenGruppen im Verzeichnis abfragen

Active Directory Domain Services (AD DS) ist die Serverrolle von Microsoft, die dieses zentrale Verzeichnis bereitstellt. Darin stehen Benutzer, Computer, Gruppen und weitere Objekte, und es beantwortet zwei Fragen: Wer bist du? (Authentifizierung) und Wozu gehörst du? (Grundlage für die Autorisierung). Die eigentlichen Rechte auf einen Ordner vergibt weiterhin der Fileserver, aber er fragt das AD, in welchen Gruppen eine Person ist.

Die Bausteine: Domäne, Domänencontroller, Objekte

Domäne und Domänencontroller

Eine Domäne ist ein Verwaltungsbereich mit gemeinsamer Benutzerdatenbank, zum Beispiel ad.sonnenhalde.ch. Alles, was zur Domäne gehört, vertraut derselben Stelle.

Ein Domänencontroller (DC) ist ein Windows Server, der diese Datenbank hält und Anmeldungen prüft. Auf jedem DC liegen:

  • die AD-Datenbank NTDS.dit (standardmässig unter C:\Windows\NTDS),
  • der Ordner SYSVOL mit Anmeldeskripten und den Dateien der Gruppenrichtlinien,
  • das Key Distribution Center (KDC) für Kerberos, das Anmeldetickets ausstellt,
  • meist auch der DNS-Server der Domäne.

Weil ohne DC niemand mehr angemeldet wird, betreibt man immer mindestens zwei, die ihre Daten laufend abgleichen (Replikation, Lektion 4).

Objekte und Attribute

Alles im AD ist ein Objekt mit Attributen, ähnlich wie eine Zeile in einer Datenbanktabelle. Ein Benutzerobjekt hat zum Beispiel diese wichtigen Attribute:

AttributBeispielWozu
sAMAccountNameanna.kellerAnmeldename im Format SONNENHALDE\anna.keller, höchstens 20 Zeichen
userPrincipalName (UPN)anna.keller@sonnenhalde.chAnmeldename im E-Mail-Format, wichtig für Microsoft 365
distinguishedName (DN)CN=Anna Keller,OU=Pflege,...eindeutiger Pfad im Verzeichnis
objectSidS-1-5-21-...-1107Sicherheitskennung, steht in Berechtigungen
objectGUID5f2c0e1a-...ändert sich nie, auch nicht beim Verschieben
memberOfListe von Gruppen-DNsdirekte Gruppenmitgliedschaften

Die wichtigsten Objektklassen sind Benutzer, Computer, Gruppen und Organisationseinheiten (OU). Eine OU ist ein Ordner im Verzeichnis, mit dem du Objekte strukturierst. An OUs hängst du später Gruppenrichtlinien und delegierst Verwaltungsrechte.

Check 1 · ZuordnenEinstieg

Ordne jedem Begriff aus Active Directory die passende Beschreibung zu.

Gesamtstruktur, Struktur und Domäne

Eine Domäne steht nie allein. Sie gehört immer zu einer Gesamtstruktur (Forest). Die Gesamtstruktur ist der äusserste Rahmen: Alle Domänen darin teilen dasselbe Schema (welche Objektklassen und Attribute es gibt), dieselbe Konfiguration und denselben Global Catalog. Domänen mit zusammenhängendem Namensraum bilden eine Struktur (Tree), zum Beispiel konzern.ch mit der Unterdomäne zh.konzern.ch. Zwischen den Domänen eines Forests bestehen automatisch Vertrauensstellungen.

Wichtig für die Sicherheit: Die eigentliche Sicherheitsgrenze ist die Gesamtstruktur, nicht die Domäne. Wer in einer Domäne höchste Rechte hat, kann mit genug Wissen den ganzen Forest übernehmen. Wenn zwei Organisationen sich wirklich nicht vertrauen sollen, brauchen sie zwei getrennte Gesamtstrukturen.

Check 2 · Mehrere AntwortenFortgeschritten

Welche Aussagen zu Gesamtstruktur, Struktur und Domäne treffen zu? (Mehrere Antworten)

Wähle alle zutreffenden Antworten.

LDAP und Distinguished Names

Wie fragt ein Programm das Verzeichnis ab, zum Beispiel ein NAS, das wissen will, ob anna.keller in der Gruppe Pflege ist? Über LDAP (Lightweight Directory Access Protocol). LDAP ist die gemeinsame Sprache von Verzeichnisdiensten. Windows selbst, aber auch Drucker mit Scan-to-Mail, VPN-Gateways, Linux-Server oder Ticketsysteme nutzen es.

PortDienst
389LDAP (Klartext oder mit Signierung)
636LDAPS (LDAP über TLS)
3268Global Catalog per LDAP
3269Global Catalog über TLS

Der Distinguished Name

Jedes Objekt hat einen eindeutigen Pfad, den Distinguished Name (DN). Er wird von innen nach aussen gelesen, also vom Objekt zur Domäne:

Text
CN=Anna Keller,OU=Pflege,OU=Benutzer,OU=Sonnenhalde,DC=ad,DC=sonnenhalde,DC=ch
TeilBedeutungHier
CN=Common Name: Name des Objekts oder eines ContainersAnna Keller
OU=Organisationseinheit, von der innersten zur äusserstenPflege in Benutzer in Sonnenhalde
DC=Domain Component: je ein Teil des DNS-Namensad.sonnenhalde.ch

Ein guter Trick: Lies den DN wie eine Postadresse von hinten. Land ch, Ort sonnenhalde, Quartier ad, Strasse Sonnenhalde, Haus Benutzer, Wohnung Pflege, Person Anna Keller. Die gleiche Adresse in der Schreibweise, die du in der Konsole «Active Directory-Benutzer und -Computer» siehst, heisst kanonischer Name: ad.sonnenhalde.ch/Sonnenhalde/Benutzer/Pflege/Anna Keller. Er läuft genau umgekehrt, von aussen nach innen.

Sonderzeichen im Namen müssen mit einem Backslash maskiert werden, weil das Komma ja die Teile trennt. Heisst das Objekt «Keller, Anna», lautet der DN CN=Keller\, Anna,OU=Pflege,....

Check 3 · Eine AntwortFortgeschritten

Gegeben ist der DN

Text
CN=Lea Meier,OU=Pflege,OU=Benutzer,OU=Sonnenhalde,DC=ad,DC=sonnenhalde,DC=ch

Welche Aussage stimmt?

In PowerShell siehst du den DN mit dem ActiveDirectory-Modul:

PowerShell
Get-ADUser -Identity anna.keller -Properties Department |
    Select-Object Name, SamAccountName, UserPrincipalName, DistinguishedName, Department
Text
Name              : Anna Keller
SamAccountName    : anna.keller
UserPrincipalName : anna.keller@sonnenhalde.ch
DistinguishedName : CN=Anna Keller,OU=Pflege,OU=Benutzer,OU=Sonnenhalde,DC=ad,DC=sonnenhalde,DC=ch
Department        : Pflege

LDAP kennt auch eine eigene Filtersprache. Sie wird in Präfix-Schreibweise notiert, der Operator steht vorne: (&(objectClass=user)(department=Pflege)) heisst «Objekte, die Benutzer sind und in der Abteilung Pflege arbeiten». In PowerShell nutzt du sie mit Get-ADUser -LDAPFilter "(department=Pflege)".

Check 4 · LückentextEinstieg

Ergänze die Lücken zu LDAP und Distinguished Names.

LDAP ohne TLS läuft auf TCP-Port . LDAPS (LDAP über TLS) läuft auf Port . Den Global Catalog fragt man per LDAP über Port ab. Der Teil DC= eines Distinguished Name steht für .

Schritt für Schritt: Einen DN bauen und zerlegen

Selina soll für das neue Konto von Marco von Arx (Werkstatt) den DN bestimmen und danach prüfen, ob ein bestehender DN eines Kollegen korrekt ist.

  1. Domäne in DC-Teile zerlegen. ad.sonnenhalde.ch an den Punkten trennen: ad, sonnenhalde, ch. Daraus wird DC=ad,DC=sonnenhalde,DC=ch.
  2. OU-Pfad von aussen nach innen notieren. Laut Konzept liegt das Konto in Sonnenhalde, darin Benutzer, darin Werkstatt: Sonnenhalde/Benutzer/Werkstatt.
  3. OU-Pfad umdrehen. Im DN steht die innerste OU zuerst: OU=Werkstatt,OU=Benutzer,OU=Sonnenhalde.
  4. Objektnamen voranstellen. Anzeigename «Marco von Arx», Leerzeichen sind erlaubt: CN=Marco von Arx.
  5. Zusammensetzen. CN=Marco von Arx,OU=Werkstatt,OU=Benutzer,OU=Sonnenhalde,DC=ad,DC=sonnenhalde,DC=ch.
  6. Gegenprüfen. Der DN eines Kollegen lautet CN=Max Muster,CN=Users,DC=ad,DC=sonnenhalde,DC=ch. Selina zerlegt ihn: Objekt «Max Muster», danach CN=Users, kein einziges OU=. Das Konto liegt also im Standardcontainer Users, nicht in einer OU. Dort greifen keine OU-Gruppenrichtlinien. Sie verschiebt es:
PowerShell
Move-ADObject -Identity "CN=Max Muster,CN=Users,DC=ad,DC=sonnenhalde,DC=ch" `
    -TargetPath "OU=Verwaltung,OU=Benutzer,OU=Sonnenhalde,DC=ad,DC=sonnenhalde,DC=ch"

Danach hat das Konto einen neuen DN, aber dieselbe objectGUID und SID. Berechtigungen und Gruppen bleiben erhalten.

Jetzt bist du dran. Bring Python bei, einen DN zu bauen:

Check 5 · Code-LaborEinstieg

Code-Labor: Einen Distinguished Name bauen

Schreibe zwei Funktionen:

  • domaene_zu_dn(domaene) macht aus einem DNS-Namen die DC-Teile: "ad.sonnenhalde.ch" → "DC=ad,DC=sonnenhalde,DC=ch".
  • dn_bauen(name, ou_pfad, domaene) baut den vollständigen DN eines Objekts.
    • name ist der Anzeigename, z.B. "Anna Keller". Ein Komma im Namen wird als \, maskiert.
    • ou_pfad nennt die OUs von aussen nach innen, getrennt mit /, z.B. "Sonnenhalde/Benutzer/Pflege". Ein leerer Pfad heisst: keine OU.
    • Im DN steht die innerste OU zuerst.

Beispiel: dn_bauen("Anna Keller", "Sonnenhalde/Benutzer/Pflege", "ad.sonnenhalde.ch") ergibt "CN=Anna Keller,OU=Pflege,OU=Benutzer,OU=Sonnenhalde,DC=ad,DC=sonnenhalde,DC=ch".

Code-Labor · Python
Strg + Enter

Und nun die Gegenrichtung, mit maskierten Kommas als Stolperstein:

Check 6 · Code-LaborFortgeschritten

Code-Labor: Einen Distinguished Name zerlegen

Skripte und Protokolle liefern dir oft nur den DN. Schreibe drei Funktionen:

  • dn_teilen(dn) gibt eine Liste von Tupeln (typ, wert) zurück. Der Typ steht immer in Grossbuchstaben (auch wenn der DN cn= schreibt). Ein maskiertes Komma \, gehört zum Wert und trennt nicht. Im Wert steht es ohne Backslash.
  • domaene_aus_dn(dn) setzt die DC-Teile zum DNS-Namen zusammen.
  • ou_pfad_aus_dn(dn) gibt nur die OUs zurück, von aussen nach innen, getrennt mit /. Ohne OU ist das Ergebnis "".

Beispiel mit dn = "CN=Keller\, Anna,OU=Pflege,OU=Benutzer,OU=Sonnenhalde,DC=ad,DC=sonnenhalde,DC=ch":

  • dn_teilen(dn)[0] → ("CN", "Keller, Anna")
  • domaene_aus_dn(dn) → "ad.sonnenhalde.ch"
  • ou_pfad_aus_dn(dn) → "Sonnenhalde/Benutzer/Pflege"
Code-Labor · Python
Strg + Enter

Dein Labor für diesen Kurs

Active Directory lernst du nur, indem du es aufbaust, kaputt machst und wieder reparierst. Richte dir deshalb ein Labor auf deinem Laptop ein, mit Hyper-V (Windows Pro oder Enterprise) oder VirtualBox:

VMSystemRAMRolle im Kurs
SH-DC01Windows Server 2025, Evaluierungsversion4 GBerster Domänencontroller und DNS
SH-DC02Windows Server 2025, Evaluierungsversion4 GBzweiter DC, später FSMO-Übungen
SH-NORD-PC01Windows 11 Pro oder Enterprise (Evaluierung)4 GBClient für Anmeldung und GPO-Tests

Alle drei VMs hängen an einem internen virtuellen Switch, damit dein Labor-DNS nicht mit dem Netz zu Hause oder im Betrieb kollidiert. Windows 11 Home kann keiner Domäne beitreten.

Typische Fehler

  • Domäne und Gesamtstruktur verwechseln. Die Sicherheitsgrenze ist der Forest. Wer «zur Sicherheit» eine zweite Domäne im selben Forest anlegt, gewinnt keine Trennung, aber viel Komplexität.
  • Den DN von vorne nach hinten als Hierarchie lesen. Die erste OU im DN ist die innerste. OU=Pflege,OU=Benutzer heisst: Pflege liegt in Benutzer, nicht umgekehrt.
  • CN und OU verwechseln. CN=Users ist ein Container, keine OU. An Containern lassen sich keine Gruppenrichtlinien verknüpfen.
  • Kommas im Namen nicht maskieren. CN=Keller, Anna,OU=... ist ein ungültiger DN. Richtig ist CN=Keller\, Anna,OU=.... Noch besser: Anzeigenamen ohne Komma wählen.

Zusammenfassung

  • Active Directory Domain Services ist ein zentrales Verzeichnis für Benutzer, Computer und Gruppen. Es ersetzt die lokalen Konten auf jedem Gerät.
  • Ein Domänencontroller hält die Datenbank NTDS.dit, den Ordner SYSVOL und das KDC für Kerberos. Es braucht immer mindestens zwei.
  • Gesamtstruktur, Struktur, Domäne: Der Forest ist die Sicherheitsgrenze. Für KMU genügt eine Domäne in einem Forest.
  • Objekte haben Attribute: sAMAccountName (max. 20 Zeichen), UPN, DN, SID und GUID. Die GUID bleibt beim Verschieben gleich, der DN ändert sich.
  • LDAP ist das Protokoll für Verzeichnisabfragen (389, LDAPS 636, Global Catalog 3268).
  • Ein DN wird vom Objekt zur Domäne gelesen: CN=, dann OUs von innen nach aussen, dann DC=-Teile. Kommas im Namen werden mit \, maskiert.

Mit deiner eigenen KI vertiefen

Kopiere einen Prompt in Claude, ChatGPT oder Claude Code. Er macht die KI zur Lernbegleitung statt zum Lösungsautomaten.

AD-Grundbegriffe erklären lassen und prüfen Chat-KI

Wenn Domäne, DC, Forest, OU und Distinguished Name noch durcheinandergehen. Die KI erklärt mit Alltagsbildern und prüft dann dein Verständnis.