Active Directory Benutzer mit PowerShell anlegen und verwalten

AD-Administration automatisieren: Massenimport, Benutzeranlage und Reporting

S
SeeColors IT
10. Juni 20264 Min. Lesezeit103 Aufrufe

PowerShell für Active Directory – Warum automatisieren?

Die manuelle Verwaltung von Active Directory über die grafische Oberfläche (ADUC) ist bei kleinen Teams akzeptabel. Bei 50 neuen Mitarbeitern wird es mühsam. Mit PowerShell und dem Active Directory Module können Sie:

  • Einzelne Benutzer in Sekunden anlegen
  • Hunderte Benutzer per CSV-Import massenweise erstellen
  • Passwörter zurücksetzen und ablaufende Kennwörter finden
  • Gruppenmanagement automatisieren
  • Berichte über inaktive Konten erstellen

Voraussetzungen

Active Directory Module installieren

Auf Windows Server (Domänencontroller):
Install-WindowsFeature RSAT-AD-PowerShell

Auf Windows 10/11 (RSAT-Tools):
Einstellungen → Apps → Optionale Features → RSAT: Active Directory Domain Services und Lightweight Directory Services-Tools

Oder per PowerShell:
Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0

Modul laden

Import-Module ActiveDirectory

Einzelnen Benutzer anlegen

Basisbefehl New-ADUser

New-ADUser -Name "Max Mustermann" -GivenName "Max" -Surname "Mustermann" -SamAccountName "m.mustermann" -UserPrincipalName "[email protected]" -Path "OU=Mitarbeiter,DC=ihrefirma,DC=de" -AccountPassword (ConvertTo-SecureString "Start@2025!" -AsPlainText -Force) -Enabled $true -ChangePasswordAtLogon $true

Vollständiger Benutzer mit allen Attributen

New-ADUser
-Name "Max Mustermann"
-GivenName "Max"
-Surname "Mustermann"
-DisplayName "Max Mustermann"
-SamAccountName "m.mustermann"
-UserPrincipalName "[email protected]"
-EmailAddress "[email protected]"
-Department "IT"
-Title "IT-Administrator"
-Company "Muster GmbH"
-OfficePhone "+49 6221 123456"
-Path "OU=IT,OU=Mitarbeiter,DC=ihrefirma,DC=de"
-AccountPassword (ConvertTo-SecureString "Start@2025!" -AsPlainText -Force)
-Enabled $true
-PasswordNeverExpires $false
-ChangePasswordAtLogon $true

Benutzer zu Gruppe hinzufügen

Add-ADGroupMember -Identity "IT-Abteilung" -Members "m.mustermann"

Massenimport aus CSV-Datei

CSV-Datei vorbereiten

Erstellen Sie eine Datei benutzer.csv mit diesem Format:

Vorname,Nachname,Benutzername,Email,Abteilung,Passwort Max,Mustermann,m.mustermann,[email protected],IT,Start@2025! Anna,Schmidt,a.schmidt,[email protected],Marketing,Start@2025!

PowerShell-Import-Skript

`$OU = "OU=Mitarbeiter,DC=ihrefirma,DC=de"
$Benutzer = Import-Csv -Path "C:\Scripts\benutzer.csv" -Delimiter ","

foreach ($User in $Benutzer) {
$Passwort = ConvertTo-SecureString $User.Passwort -AsPlainText -Force

New-ADUser `
    -GivenName $User.Vorname `
    -Surname $User.Nachname `
    -Name "$($User.Vorname) $($User.Nachname)" `
    -DisplayName "$($User.Vorname) $($User.Nachname)" `
    -SamAccountName $User.Benutzername `
    -UserPrincipalName "$($User.Benutzername)@ihrefirma.de" `
    -EmailAddress $User.Email `
    -Department $User.Abteilung `
    -Path $OU `
    -AccountPassword $Passwort `
    -Enabled $true `
    -ChangePasswordAtLogon $true `
    -ErrorAction SilentlyContinue

Write-Host "Benutzer erstellt: $($User.Vorname) $($User.Nachname)"

}`

Benutzer suchen und anzeigen

Alle Benutzer in einer OU

Get-ADUser -Filter * -SearchBase "OU=Mitarbeiter,DC=ihrefirma,DC=de" -Properties * | Select-Object Name, SamAccountName, EmailAddress, Department | Format-Table

Benutzer nach Namen suchen

Get-ADUser -Filter {Name -like "*Mustermann*"} -Properties * | Select-Object Name, SamAccountName, EmailAddress

Deaktivierte Konten finden

Get-ADUser -Filter {Enabled -eq $false} -Properties LastLogonDate | Select-Object Name, SamAccountName, LastLogonDate | Sort-Object LastLogonDate | Format-Table

Inaktive Benutzer (seit 90 Tagen nicht angemeldet)

$DatumGrenze = (Get-Date).AddDays(-90) Get-ADUser -Filter {LastLogonDate -lt $DatumGrenze -and Enabled -eq $true} -Properties LastLogonDate | Select-Object Name, SamAccountName, LastLogonDate

Benutzer bearbeiten

Passwort zurücksetzen

Set-ADAccountPassword -Identity "m.mustermann" -Reset -NewPassword (ConvertTo-SecureString "Neues@2025!" -AsPlainText -Force) Set-ADUser -Identity "m.mustermann" -ChangePasswordAtLogon $true

Konto deaktivieren (bei Mitarbeiteraustritt)

Disable-ADAccount -Identity "m.mustermann"

Konto in andere OU verschieben (z. B. "Ehemalige Mitarbeiter")

Move-ADObject -Identity "CN=Max Mustermann,OU=IT,OU=Mitarbeiter,DC=ihrefirma,DC=de" -TargetPath "OU=Ehemalig,DC=ihrefirma,DC=de"

E-Mail-Adresse aktualisieren

Set-ADUser -Identity "m.mustermann" -EmailAddress "[email protected]"

Gruppen verwalten

Neue Gruppe erstellen

New-ADGroup -Name "Buchhaltung-RW" -GroupScope Global -GroupCategory Security -Path "OU=Gruppen,DC=ihrefirma,DC=de" -Description "Lese-/Schreibzugriff Buchhaltung"

Mitglieder einer Gruppe auflisten

Get-ADGroupMember -Identity "IT-Abteilung" | Select-Object Name, SamAccountName

Gruppen eines Benutzers anzeigen

Get-ADPrincipalGroupMembership -Identity "m.mustermann" | Select-Object Name

Reporting und Audit

Benutzerliste als CSV exportieren

Get-ADUser -Filter * -Properties * | Select-Object Name, SamAccountName, EmailAddress, Department, LastLogonDate, Enabled | Export-Csv -Path "C:\Reports\Benutzer.csv" -NoTypeInformation -Encoding UTF8

Passwort-Ablauf überwachen

Get-ADUser -Filter {Enabled -eq $true} -Properties PasswordLastSet, PasswordNeverExpires | Where-Object {$_.PasswordNeverExpires -eq $false} | Select-Object Name, SamAccountName, PasswordLastSet | Sort-Object PasswordLastSet

FAQ

Brauche ich Admin-Rechte für PowerShell AD-Befehle?
Ja, Sie müssen als Domänen-Administrator oder mit delegierten Rechten (z. B. Account Operator) angemeldet sein.

Kann ich PowerShell für AD auch remote ausführen?
Ja, mit PowerShell Remoting (Enter-PSSession -ComputerName DC01) oder mit dem Parameter -Server bei AD-Cmdlets.

Wie importiere ich Benutzer aus einer Excel-Datei?
Speichern Sie die Excel-Datei als CSV und verwenden Sie das obige Import-Skript. Achten Sie auf die richtige Zeichenkodierung (UTF-8-BOM).

Fazit

PowerShell macht AD-Administration erheblich effizienter. Ob Einzelbenutzer oder Massenimport – mit den richtigen Skripten sparen Sie Stunden manuelle Arbeit.

Als IT-Dienstleister in Heidelberg automatisieren wir Active-Directory-Verwaltung für Unternehmen in Mannheim, Ludwigshafen und der gesamten Rhein-Neckar-Region. Jetzt Automatisierungsberatung anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel