AD CSV Dummy Data Generator

ACTIVE DIRECTORY

AD CSV Dummy Data Generator

Erstelle realistische CSV-Testdaten für AD-Benutzerimport: GivenName, Surname, SamAccountName, UPN, OU, Gruppen, Passwörter und mehr. Mit PowerShell-Import-Skript.

Benutzer OUs Gruppen PowerShell CSV-Export

Datenschutz-Garantie: Alle Daten werden zufällig lokal in deinem Browser generiert. Es werden keine Daten an Server gesendet. Perfekt für AD-Testumgebungen, Schulungen und Lab-Setups.

⚠️ WICHTIG: Nur für Testumgebungen!
  • Diese Daten sind synthetisch und für Labore, Demos und Schulungen gedacht.
  • NIEMALS in einer Produktions-Domain verwenden!
  • Passwörter in der CSV sind Klartext-Beispiele – niemals echte Passwörter in CSV speichern!
  • Verwende das bereitgestellte PowerShell-Skript nur in isolierten Testumgebungen.

Inhaltsverzeichnis

Schnellübersicht

  • AD CSV Generator: Realistische Testdaten für AD-Import
  • Felder: GivenName, Surname, SamAccountName, UPN, OU, Gruppen
  • Presets: Standard, Vertrieb, IT, Vorstand, Praktikanten
  • Ausgabe: CSV, PowerShell-Import-Skript, JSON
  • Download: Direkter CSV-Export für New-ADUser
  • Theorie: Was ist Active Directory? (Anfängerfreundlich)
  • Geschichte: Von NT 4.0 zu Active Directory
  • FAQ: Häufige Fragen zu AD und CSV-Import

1. AD CSV Dummy Data Generator

Wähle Felder, OUs und Optionen – die CSV wird sofort generiert.

Felder auswählen
Presets
1 bis 500 Benutzer
Distinguished Name (DN)
z.B. contoso.local oder firma.de
Firmenname in AD
Office / Stadt
Organisationsstruktur (OUs)
Verteilungsmodus für OUs
  • Gleichmäßig: Alle Benutzer in die Standard-OU
  • Nach Abteilung: Verteilt auf Abteilungs-OUs (Sales, IT, Marketing, etc.)
  • Nach Standort: Verteilt auf Standort-OUs (Berlin, München, Hamburg)
Mit Semikolon getrennt
z.B. +49 30 für Berlin
Für reproduzierbare Daten
Live-Vorschau
// Klicke auf "Neu generieren", um Daten zu erstellen
Wichtige Hinweise zum AD-Import
  • Die CSV muss UTF-8 (ohne BOM) oder UTF-16 LE kodiert sein – sonst gibt es Probleme mit Umlauten.
  • Passwörter müssen den Komplexitätsanforderungen der Domain entsprechen (mind. 7 Zeichen, 3 von 4 Kategorien).
  • SamAccountName maximal 20 Zeichen, keine Sonderzeichen außer . - _.
  • UPN muss zum konfigurierten UPN-Suffix der Domain passen.
  • Die OU muss bereits existieren, bevor New-ADUser ausgeführt wird.
  • Verwende WhatIf beim ersten Durchlauf: New-ADUser -WhatIf

2. Theorie – Active Directory einfach erklärt

Verstehe die Grundlagen von Active Directory – ohne Vorkenntnisse.

Was ist Active Directory?

Active Directory (AD) ist der Verzeichnisdienst von Microsoft Windows Server:

  • Zentrale Benutzerverwaltung: Ein Login für alle Systeme
  • Authentifizierung: Wer darf sich anmelden?
  • Autorisierung: Wer darf was?
  • Gruppenrichtlinien: Zentrale Konfiguration
  • DNS-basiert: Namensauflösung integriert
Ein Benutzerkonto für alle Domänen-Ressourcen

Warum braucht man AD?

Ohne AD wäre jede Verwaltung chaotisch:

  • Skalierbarkeit: 10 bis 100.000+ Benutzer
  • Zentralisierung: Ein Ort für alle Konten
  • Sicherheit: Einheitliche Passwort-Policies
  • Automatisierung: PowerShell-Skripte für Massenänderungen
  • Nachvollziehbarkeit: Wer hat wann was gemacht?
Ohne AD: Lokale Accounts auf jedem PC

Wichtige AD-Attribute

Diese Attribute werden beim CSV-Import verwendet:

  • GivenName: Vorname
  • Surname: Nachname
  • DisplayName: Anzeigename
  • SamAccountName: Login-Name (max 20 Zeichen)
  • UserPrincipalName: UPN (user@domain)
  • EmailAddress: E-Mail-Adresse
  • Department: Abteilung
  • Title: Position
  • Company: Firma
  • Office: Standort
SamAccountName: max.mustermann

Tipps für Anfänger

  • Testumgebung: Nie in Produktion testen!
  • WhatIf: Erst mit -WhatIf prüfen
  • OU-Struktur: Vorher anlegen
  • UPN-Suffix: Muss zur Domäne passen
  • UTF-8 ohne BOM: Umlaute korrekt speichern
  • Backup: Snapshot vor Massenimport
New-ADUser -WhatIf -Path "OU=..."

Wussten Sie schon? Active Directory wurde 1999 mit Windows 2000 Server eingeführt und ist bis heute der wichtigste Verzeichnisdienst in Unternehmen. In über 90% aller Fortune-500-Unternehmen läuft Active Directory. Fun Fact: Die maximale Länge eines SamAccountName beträgt 20 Zeichen – ein Überbleibsel aus der Windows-NT-Ära, wo der "SAM" (Security Account Manager) nur 20 Zeichen speichern konnte. Aus diesem Grund werden lange Namen wie "maximilian.mustermann" zu "maximilian.musterma" gekürzt. Modernere Systeme wie Azure AD (Entra ID) haben diese Einschränkung nicht mehr.

3. Die wichtigsten AD-Felder für CSV-Import

Diese Attribute werden für New-ADUser unterstützt:

CSV-Spalte AD-Attribut Beschreibung Beispiel
GivenNamegivenNameVornameMax
SurnamesnNachnameMustermann
DisplayNamedisplayNameAnzeigenameMax Mustermann
SamAccountNamesAMAccountNameLogin (max 20 Zeichen)max.mustermann
UserPrincipalNameuserPrincipalNameUPN (Login@Domain)max.mustermann@contoso.local
EmailAddressmailE-Mailmax.mustermann@contoso.de
DepartmentdepartmentAbteilungIT
TitletitlePositionSoftwareentwickler
CompanycompanyFirmaContoso GmbH
OfficephysicalDeliveryOfficeNameStandort/BüroBerlin
OfficePhonetelephoneNumberTelefon+49 30 1234567
MobilePhonemobileHandynummer+49 170 1234567
StreetAddressstreetAddressStraßeHauptstraße 42
CitylStadtBerlin
PostalCodepostalCodePLZ10115
OU-Ziel-OU (DN)OU=IT,OU=Users,DC=...
GroupsmemberOfGruppen (Semikolon)GG_IT;GG_VPN
Enabled-Konto aktiviert$true / $false
Password-Initial-PasswortPa$$w0rd!

4. Geschichte von Active Directory

Von Windows NT zu Microsoft Entra ID – wie Windows die Benutzerverwaltung revolutionierte.

1993

Windows NT 3.1

Windows NT 3.1 wird veröffentlicht. Es führt die NT-Domänen ein – die erste zentrale Benutzerverwaltung von Microsoft. Grundlage für das spätere AD.

1996

Windows NT 4.0

Windows NT 4.0 perfektioniert die Domänen-Struktur mit PDC und BDC (Primary/Backup Domain Controller). Limitierung: Keine hierarchische Struktur.

1999

Active Directory (Windows 2000)

Active Directory wird mit Windows 2000 Server eingeführt. Hierarchische Struktur mit OUs, Gruppenrichtlinien und LDAP-Unterstützung. Revolution!

2003

Windows Server 2003

AD 2003 bringt Forest-Trusts, Domain Rename und verbesserte Group Policy-Verwaltung. Active Directory wird zum Unternehmensstandard.

2008

Windows Server 2008 R2

Read-Only Domain Controller (RODC) für sichere Filialen und Fine-Grained Password Policies. Sicherheit und Flexibilität werden erhöht.

2016

Azure AD (Entra ID)

Azure Active Directory (seit 2023: Microsoft Entra ID) wird populär. Cloud-basierte Identität als Ergänzung oder Alternative zu on-premises AD. Hybrid-Identität wird Standard.

Heute

Hybrid & Zero Trust

Hybrid AD verbindet on-premises mit Cloud. Microsoft Entra ID Connect synchronisiert Konten. Zero Trust ersetzt das alte Perimeter-Denken. Über 90% der Fortune-500 nutzen Active Directory.

5. FAQ – Spannende Fragen & Antworten

Häufige Fragen zu AD CSV-Import

Wie importiere ich die CSV mit PowerShell?

Der PowerShell-Import ist der Standard-Weg für Massenimport in Active Directory:

Grundlegendes Import-Skript:

Import-Module ActiveDirectory $users = Import-Csv -Path "C:\temp\ad-users.csv" -Delimiter ";" foreach ($user in $users) { $params = @{ GivenName = $user.GivenName Surname = $user.Surname Name = $user.DisplayName DisplayName = $user.DisplayName SamAccountName = $user.SamAccountName UserPrincipalName = $user.UserPrincipalName EmailAddress = $user.EmailAddress Department = $user.Department Title = $user.Title Company = $user.Company Office = $user.Office OfficePhone = $user.OfficePhone Path = $user.OU AccountPassword = (ConvertTo-SecureString $user.Password -AsPlainText -Force) Enabled = $true ChangePasswordAtLogon = $true } New-ADUser @params -WhatIf }

Schritt-für-Schritt:

  • 1. Test mit -WhatIf: Zeigt nur an, was passieren würde
  • 2. Entfernen von -WhatIf: Führt die Erstellung aus
  • 3. Fehler behandeln: try/catch einbauen
  • 4. Gruppen hinzufügen: mit Add-ADGroupMember

Erweiterte Version mit Gruppen:

foreach ($user in $users) { try { New-ADUser @params -ErrorAction Stop Write-Host "✓ Erstellt: $($user.SamAccountName)" -ForegroundColor Green # Gruppen zuweisen if ($user.Groups) { $user.Groups -split ';' | ForEach-Object { Add-ADGroupMember -Identity $_ -Members $user.SamAccountName } } } catch { Write-Host "✗ Fehler bei $($user.SamAccountName): $_" -ForegroundColor Red } }
Welche Komplexitätsanforderungen gelten für AD-Passwörter?

Die Standard-Passwort-Policy von Windows Server verlangt:

AnforderungStandard-Wert
Mindestlänge7 Zeichen
Komplexität3 von 4 Kategorien
Maximalalter42 Tage
Historien-Länge24 Passwörter
Minimalalter1 Tag

Die 4 Kategorien für Komplexität:

  • Großbuchstaben: A-Z
  • Kleinbuchstaben: a-z
  • Ziffern: 0-9
  • Sonderzeichen: !@#$%^&*()_+-=[]{}|;:,.<>?

Gültige Beispiele:

  • Pa$$w0rd! ✅ (alle 4 Kategorien)
  • Willkommen123 ✅ (3 Kategorien)
  • Abc123! ❌ (zu kurz, nur 6 Zeichen)
  • password ❌ (nur Kleinbuchstaben)

Ungültige Zeichen in AD-Passwörtern:

Folgende Zeichen werden vom New-ADUser-Cmdlet nicht akzeptiert:

  • " (Doppeltes Anführungszeichen)
  • ` (Backtick)
  • $ manchmal problematisch in Skripten (nur in Single Quotes OK)

Best Practice:

  • Passphrase: "Kaffee-Ist-Gut-2024!" – lang und merkbar
  • Zufällig: "xK9#mP2$vN7@" – sicher, aber schwer zu merken
  • ChangePasswordAtLogon: Auf $true setzen – Nutzer muss beim ersten Login ändern
Warum sind SamAccountName auf 20 Zeichen begrenzt?

Die 20-Zeichen-Begrenzung ist ein historisches Erbe aus der Windows NT-Ära:

Der Hintergrund:

  • SAM = Security Account Manager
  • Die SAM-Datenbank wurde 1993 für Windows NT entwickelt
  • Damals wurde das Feld für den Benutzernamen auf 20 Unicode-Zeichen festgelegt
  • Das entspricht 40 Bytes in der ursprünglichen Datenbankstruktur

Was passiert bei längeren Namen?

Windows schneidet den Namen automatisch ab:

maximilian.mustermann → maximilian.musterma (20 Zeichen abgeschnitten) christopher.schmidt-weber → christopher.schmidt- (20 Zeichen) alexander.von.hohenzollern → alexander.von.hohen (20 Zeichen)

Konsequenzen:

  • Login-Problem: Benutzer müssen den gekürzten Namen verwenden
  • Verwirrung: UPN und SamAccountName sind unterschiedlich
  • Skripte: Müssen den gekürzten Namen verwenden
  • E-Mail: Meist unabhängig vom SamAccountName

Workarounds:

  • Kürzere Formate: v.nachname statt vorname.nachname
  • Initialen: mmustermann statt max.mustermann
  • Duplikate: max.mustermann2, max.mustermann3
  • Keine Umlaute: Sparen Zeichen

Moderne Alternativen:

  • UPN: Unbegrenzt (kann 100+ Zeichen haben)
  • Cloud: Entra ID hat keine 20-Zeichen-Begrenzung
  • SID: Eindeutige ID unabhängig vom Namen

Unser Tool berücksichtigt die 20-Zeichen-Begrenzung automatisch und kürzt zu lange Namen!

Wie gehe ich mit Umlauten in AD-Namen um?

Umlaute (ä, ö, ü, ß) sind in AD-technisch erlaubt, verursachen aber oft Probleme:

Probleme mit Umlauten:

  • E-Mail-Adressen: SMTP erlaubt keine Umlaute im Local-Part
  • Login-Namen: Viele Anwendungen unterstützen keine Umlaute
  • Skripte: Encoding-Probleme bei PowerShell-Skripten
  • CSV-Import: Falsche Codierung führt zu "Müller"
  • LDAP-Abfragen: Erschwert Filtersuche
  • URLs: Werden kodiert (%C3%BC)

Behandlung von Umlauten:

Originalae-MethodeStrip-Methode
MüllerMuellerMuller
SchröderSchroederSchroder
JägerJaegerJager
WeißWeissWeiss

Best Practice für AD:

  • GivenName, Surname: Umlaute behalten (Müller bleibt Müller)
  • SamAccountName: Umlaute ersetzen (mueller)
  • UPN: Umlaute ersetzen (mueller@firma.de)
  • EmailAddress: Umlaute ersetzen (mueller@firma.de)
  • DisplayName: Umlaute behalten (Müller, Max)

CSV-Kodierung:

  • Falsch: UTF-8 mit BOM (Müller)
  • Richtig: UTF-8 ohne BOM oder UTF-16 LE
  • PowerShell: Export-Csv -Encoding UTF8
  • Excel: Speichern als "CSV UTF-8"
# Umlaute in PowerShell ersetzen $name = "Müller" $sam = $name -replace 'ä','ae' -replace 'ö','oe' -replace 'ü','ue' -replace 'ß','ss' # Ergebnis: "Mueller"
Wie lege ich eine OU für den Import an?

Die OU (Organizational Unit) muss vor dem Import existieren:

OU per PowerShell anlegen:

# Basis-OU erstellen New-ADOrganizationalUnit -Name "Test" ` -Path "DC=contoso,DC=local" ` -Description "Testumgebung" # Unter-OU erstellen New-ADOrganizationalUnit -Name "Users" ` -Path "OU=Test,DC=contoso,DC=local" # Abteilungs-OU New-ADOrganizationalUnit -Name "IT" ` -Path "OU=Users,OU=Test,DC=contoso,DC=local" # Ergebnis-DN: # OU=IT,OU=Users,OU=Test,DC=contoso,DC=local

OU-Struktur für unser Tool:

DC=contoso,DC=local └── OU=Test └── OU=Users ├── OU=IT ├── OU=Sales ├── OU=Marketing ├── OU=HR └── OU=Finance

Alle OUs auf einmal anlegen (Skript):

$baseDN = "DC=contoso,DC=local" $departments = @("IT", "Sales", "Marketing", "HR", "Finance") # Basis-OU New-ADOrganizationalUnit -Name "Test" -Path $baseDN $testDN = "OU=Test,$baseDN" # Users-OU New-ADOrganizationalUnit -Name "Users" -Path $testDN $usersDN = "OU=Users,$testDN" # Abteilungen foreach ($dept in $departments) { New-ADOrganizationalUnit -Name $dept -Path $usersDN Write-Host "✓ OU erstellt: OU=$dept,$usersDN" -ForegroundColor Green }

OU-Schutz (Accidental Deletion):

Neu erstellte OUs sind standardmäßig geschützt. Bei Bedarf:

# Schutz deaktivieren (falls nötig) Set-ADOrganizationalUnit -Identity "OU=IT,OU=Users,OU=Test,DC=contoso,DC=local" ` -ProtectedFromAccidentalDeletion $false # Alle Objekte in OU löschen (Vorsicht!) Get-ADUser -Filter * -SearchBase "OU=IT,OU=Users,OU=Test,DC=contoso,DC=local" | Remove-ADUser -Confirm:$false

Wichtig: OUs können nicht umbenannt werden, ohne dass alle untergeordneten Objekte angepasst werden müssen!

Was sind die häufigsten Fehler beim AD-Massenimport?

Diese Fehler passieren regelmäßig – vermeide sie:

1. Falsche CSV-Kodierung

❌ Excel speichert als UTF-8 mit BOM → Müller wird Müller ✅ "CSV UTF-8" (ohne BOM) wählen

2. Existierende OUs

❌ New-ADUser -Path "OU=NichtExistierend,DC=contoso,DC=local" ✅ Erst OU anlegen, dann User importieren

3. UPN-Suffix nicht konfiguriert

❌ UPN "user@firma.de" aber Domäne nutzt contoso.local ✅ UPN-Suffix hinzufügen: Get-ADForest | Set-ADForest -UPNSuffixes @{Add="firma.de"}

4. Passwort entspricht nicht Policy

❌ "test123" (zu kurz, zu einfach) ✅ "Pa$$w0rd!2024" (Komplexität erfüllt)

5. Duplikate SamAccountNames

❌ Zwei Mal "max.mustermann" in CSV ✅ Mit Nummer: max.mustermann2

6. Fehlende Berechtigungen

  • Benötigt: Mitglied in "Account Operators" oder delegierte Rechte
  • Für bestimmte OUs: Explizite Berechtigung nötig
  • Elevation: PowerShell als Administrator ausführen

7. Kein -WhatIf verwendet

❌ Direkt ausführen ohne Test ✅ Immer erst: New-ADUser @params -WhatIf

8. Keine Fehlerbehandlung

❌ Bei Fehler bricht Skript ab ✅ try/catch für jeden User

9. Max Länge ignoriert

❌ SamAccountName 25 Zeichen → Fehler ✅ Max 20 Zeichen

10. Keine Wiederherstellung geplant

  • Vorher: AD-Snapshot oder Backup erstellen
  • Für Test: Eigene OU verwenden, um einfach zu löschen
  • Für Produktion: Immer AD Recycle Bin aktivieren
Wie teste ich AD-Importe ohne Risiko?

Sicheres Testen von AD-Importen ist essentiell:

1. Isolierte Testumgebung

  • Hyper-V / VMware: Windows Server VM aufsetzen
  • Azure VM: Test-Domain Controller in der Cloud
  • Windows Sandbox: Für kleinere Tests
  • Docker: Nicht für AD geeignet

2. Separate Test-OU

# Immer in Test-OU arbeiten: OU=Test,DC=contoso,DC=local # Nicht in: OU=Users,DC=contoso,DC=local ← Produktion! OU=Employees,DC=contoso,DC=local ← Produktion!

3. WhatIf-Parameter

# Erst prüfen, dann ausführen New-ADUser @params -WhatIf # Ausgabe: # What if: Performing the operation "New" on target "CN=Max Mustermann,..."

4. Confirm-Preference

# Alle Operationen bestätigen $ConfirmPreference = 'High' # Für unbeaufsichtigte Skripte: New-ADUser @params -Confirm:$false

5. Rollback planen

# Alle Testbenutzer löschen Get-ADUser -Filter * -SearchBase "OU=Test,DC=contoso,DC=local" | Remove-ADUser -Confirm:$false # Oder selektiv: Get-ADUser -Filter "Description -like 'TestUser*'" | Remove-ADUser -Confirm:$false

6. Logging aktivieren

Start-Transcript -Path "C:\Logs\AD-Import-$(Get-Date -Format 'yyyyMMdd-HHmmss').log" # ... Import-Skript ... Stop-Transcript

7. Snapshot vor Änderungen

  • VM-Snapshot: Hyper-V Checkpoint erstellen
  • AD Recycle Bin: Vorher aktivieren
  • System State Backup: Für größere Änderungen

8. Berechtigungen prüfen

# Eigenen Benutzer prüfen whoami /groups | findstr "Domain Admins" # Delegierte Rechte für OU Get-Acl "AD:OU=Test,DC=contoso,DC=local" | Format-List

9. Test-Domain Controller

  • Für größere Tests eigene Test-Domain aufsetzen
  • Isoliertes Netzwerk (kein Zugriff auf Produktion)
  • DNS-Einstellungen prüfen
  • Nur lokale Admins verwenden

10. Notfall-Plan

  • Wer wird informiert? Bei Problemen
  • Wie wird zurückgesetzt? Snapshot / Backup
  • Wer hat Zugriff? Auf das Backup
  • Test-Szenario dokumentieren
Was ist der Unterschied zwischen on-premises AD und Entra ID?

Active Directory (on-premises) vs. Entra ID (ehemals Azure AD):

AspektAD (on-prem)Entra ID (Cloud)
ProtokollLDAP, KerberosOAuth 2.0, SAML, OIDC
Domänecontoso.localcontoso.onmicrosoft.com
StrukturOUs, ForestsTenants, Groups
GPOJa (viele Einstellungen)Eingeschränkt (Intune)
GruppenrichtlinienUmfangreichNur Intune-Policies
AnmeldungKerberos-TicketToken (JWT)
TrustsForest-TrustsB2B, B2C
Cloud-AnbindungKomplexNative
LizenzkostenServer + CALsPro User/Monat
WartungViel (Updates, Backups)Microsoft macht es
MFAZusätzliche ToolsIntegriert
Conditional AccessBegrenztMächtig

Wann on-premises AD?

  • Legacy-Anwendungen: Benötigen LDAP/Kerberos
  • Regulatorik: Daten müssen lokal bleiben
  • Netzwerk-Drucker: Keine Cloud-Anbindung
  • On-prem-Exchange: Lokales Mail-System
  • Spezialitäten: Bestimmte Branchen-Software

Wann Entra ID?

  • Microsoft 365: Native Integration
  • Remote-Work: Zugriff von überall
  • Startups: Keine eigene Infrastruktur
  • Mobile Devices: MDM über Intune
  • Kosteneffizienz: Kein Server-Betrieb

Hybrid-Identität:

Die meisten Unternehmen nutzen beides parallel:

  • Entra Connect: Synchronisiert on-prem AD → Cloud
  • Pass-through Authentication (PTA): Anmeldung gegen on-prem AD
  • Federated Authentication: ADFS als Vertrauensstellung
  • Password Hash Sync (PHS): Hashes in die Cloud

Unser Tool generiert CSVs für on-premises AD-Import. Für Entra ID gibt es das separate Microsoft Graph PowerShell SDK mit anderen Cmdlets wie New-MgUser.

Zusammenfassung

Die wichtigsten Punkte

  • Active Directory: Verzeichnisdienst von Microsoft für Benutzerverwaltung
  • CSV-Import: Standard für Massenanlage von Benutzern
  • SamAccountName: Max 20 Zeichen (historische Begrenzung)
  • UPN: Login@Domain Format, unbegrenzt lang
  • Passwort-Policy: 7+ Zeichen, 3 von 4 Kategorien
  • OU-Struktur: Muss vorher angelegt werden
  • Umlaute: In Logins ersetzen (ä→ae)
  • CSV-Encoding: UTF-8 ohne BOM oder UTF-16 LE
  • Sicherheit: Immer -WhatIf testen, eigene Test-OU
  • Unser Tool: Realistische AD-Testdaten mit PowerShell-Skript

Weitere Tools

Datengenerierung

Generiere allgemeine Testdaten mit vielen Kategorien.

Zum Tool
JSON Editor

JSON formatieren, validieren und visualisieren.

Zum Tool
Timestamp Converter

Unix-Zeitstempel in lesbare Daten umwandeln.

Zum Tool
Hash Generator

MD5, SHA-1, SHA-256 und SHA-512 für Text und Dateien.

Zum Tool