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.
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.
| Aufgabe | Mit lokalen Konten | Mit Active Directory |
|---|---|---|
| Neue Mitarbeiterin | Konto auf jedem genutzten PC und NAS anlegen | Ein Konto, gilt auf allen Domänen-PCs |
| Passwort ändern | Pro Gerät, Passwörter laufen auseinander | Einmal, gilt überall |
| Austritt | Alle Geräte absuchen | Konto deaktivieren, sofort wirksam |
| Einstellungen verteilen | Von Hand an jedem PC | Zentral per Gruppenrichtlinie |
| Wer darf was? | Auf jedem Gerät nachsehen | Gruppen 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 unterC:\Windows\NTDS), - der Ordner
SYSVOLmit 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:
| Attribut | Beispiel | Wozu |
|---|---|---|
sAMAccountName | anna.keller | Anmeldename im Format SONNENHALDE\anna.keller, höchstens 20 Zeichen |
userPrincipalName (UPN) | anna.keller@sonnenhalde.ch | Anmeldename im E-Mail-Format, wichtig für Microsoft 365 |
distinguishedName (DN) | CN=Anna Keller,OU=Pflege,... | eindeutiger Pfad im Verzeichnis |
objectSid | S-1-5-21-...-1107 | Sicherheitskennung, steht in Berechtigungen |
objectGUID | 5f2c0e1a-... | ändert sich nie, auch nicht beim Verschieben |
memberOf | Liste von Gruppen-DNs | direkte 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.
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.
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.
| Port | Dienst |
|---|---|
| 389 | LDAP (Klartext oder mit Signierung) |
| 636 | LDAPS (LDAP über TLS) |
| 3268 | Global Catalog per LDAP |
| 3269 | Global 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:
CN=Anna Keller,OU=Pflege,OU=Benutzer,OU=Sonnenhalde,DC=ad,DC=sonnenhalde,DC=ch| Teil | Bedeutung | Hier |
|---|---|---|
CN= | Common Name: Name des Objekts oder eines Containers | Anna Keller |
OU= | Organisationseinheit, von der innersten zur äussersten | Pflege in Benutzer in Sonnenhalde |
DC= | Domain Component: je ein Teil des DNS-Namens | ad.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,....
Gegeben ist der DN
CN=Lea Meier,OU=Pflege,OU=Benutzer,OU=Sonnenhalde,DC=ad,DC=sonnenhalde,DC=chWelche Aussage stimmt?
In PowerShell siehst du den DN mit dem ActiveDirectory-Modul:
Get-ADUser -Identity anna.keller -Properties Department |
Select-Object Name, SamAccountName, UserPrincipalName, DistinguishedName, DepartmentName : 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 : PflegeLDAP 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)".
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.
- Domäne in DC-Teile zerlegen.
ad.sonnenhalde.chan den Punkten trennen:ad,sonnenhalde,ch. Daraus wirdDC=ad,DC=sonnenhalde,DC=ch. - OU-Pfad von aussen nach innen notieren. Laut Konzept liegt das Konto in Sonnenhalde, darin Benutzer, darin Werkstatt:
Sonnenhalde/Benutzer/Werkstatt. - OU-Pfad umdrehen. Im DN steht die innerste OU zuerst:
OU=Werkstatt,OU=Benutzer,OU=Sonnenhalde. - Objektnamen voranstellen. Anzeigename «Marco von Arx», Leerzeichen sind erlaubt:
CN=Marco von Arx. - Zusammensetzen.
CN=Marco von Arx,OU=Werkstatt,OU=Benutzer,OU=Sonnenhalde,DC=ad,DC=sonnenhalde,DC=ch. - Gegenprüfen. Der DN eines Kollegen lautet
CN=Max Muster,CN=Users,DC=ad,DC=sonnenhalde,DC=ch. Selina zerlegt ihn: Objekt «Max Muster», danachCN=Users, kein einzigesOU=. Das Konto liegt also im Standardcontainer Users, nicht in einer OU. Dort greifen keine OU-Gruppenrichtlinien. Sie verschiebt es:
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:
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.nameist der Anzeigename, z.B."Anna Keller". Ein Komma im Namen wird als\,maskiert.ou_pfadnennt 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".
Und nun die Gegenrichtung, mit maskierten Kommas als Stolperstein:
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 DNcn=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"
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:
| VM | System | RAM | Rolle im Kurs |
|---|---|---|---|
| SH-DC01 | Windows Server 2025, Evaluierungsversion | 4 GB | erster Domänencontroller und DNS |
| SH-DC02 | Windows Server 2025, Evaluierungsversion | 4 GB | zweiter DC, später FSMO-Übungen |
| SH-NORD-PC01 | Windows 11 Pro oder Enterprise (Evaluierung) | 4 GB | Client 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=Benutzerheisst: Pflege liegt in Benutzer, nicht umgekehrt. - CN und OU verwechseln.
CN=Usersist 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 istCN=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 OrdnerSYSVOLund 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, dannDC=-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.