Benutzer Automatisch in Bulk erstellen mit New-AdUser aus Import-CSV-Datei.
Soll eine grosse Anzahl an Benutzern in Active Directory automatisiert angelegt werden, beinhaltet auch hier die PowerShell das adäquate vorgehen, um mehrere Benutzer mit New-AdUser über Import-Csv zu erstellen.
Dieses Tutorial zeigt die Anwendung von New-AdUser für das automatisierte Erstellen von Active Directory Benutzerkonten, durch Import der Objekt Daten aus einer CSV-Datei mit Import-Csv.
Bei der Migration wo Teile von Benutzerkonten aus einer Organisationseinheit (OU) aus einem Active Directory Forest in ein neuen oder anderen Forest übernommen werden sollen, ermöglichen die Active Directory Module dies mit dem Cmdlet Get-AdUser für das User-Management, sowie das Anlegen neuer Benutzerkonten mit New-ADUser. Es werden insgesamt rund 50 Parameter unterstützt, deren Namen mit den Attributen im AD übereinstimmen.
Benutzer erstellen mit New-AdUser aus CSV-Datei
Ein einfacher Aufruf könnte so aussehen, wenn man wie hier einen neuen Benutzer mit dem SamAccountName „Sebastian“ erstellt.
$Password = Read-Host "Enter a Password" -AsSecureString
New-ADUser -Name Sebastian -GivenName Sebastian -Surname Furrer -Path "OU=User,OU=Office,DC=Company,DC=com" -Enabled $True -AccountPassword $Password -ChangePasswordAtLogon $True
Die PowerShell Befehlszeile erstellt ein Benutzer und übergibt mit dem Parameter AccountPassword ein Passwort, dieses zuvor eingegeben wurde. Es können zahlreiche weitere Attribute mit Werten angewendet werden. Für das einfache Benutzer anlegen reicht dieses Beispiel schon aus, damit sich der Benutzer an AD anmelden kann.
Benutzerexport und Import über CSV-Datei
Es lassen sich die Benutzer mittels Filter aus der OU in eine CSV-Datei exportieren, diese danach für den Benutzer Import zur Verfügung steht, für eine vorgesehene Active Directory Organisationseinheit.
Get-AdUser -Filter * -SearchBase "OU=User,OU=Office,DC=Company,DC=com" | Export-Csv -Path .\users.csv -NoClobber -Delimiter ";"
Bei einer grossen Anzahl an Benutzern wird man diese nicht einzeln anlegen wollen. Am besten eignet sich hier der Import von Daten aus der CSV-Datei. Es muss die Voraussetzung erfüllt sein, das die Spaltenüberschriften in der CSV-Datei exakt mit den Namen der Parameter übereinstimmen. Eine mit Export-Csv exportierte Datei kann in etwa wie folgt aussehen.

Wurde der Export mit Komma als Delimiter formatiert, Import-Csv mit Trennzeichen über Parameter Delimiter spezifizieren.
Eine foreach Schleife erstellt die Benutzer im vorgegeben OU-Kontext.
$Import = Import-CSV ".\users.csv" -Delimiter ";"
$OU = "OU=User,OU=Office,DC=Company,DC=com"
$Password = ConvertTo-SecureString "Initpass" -AsPlainText -Force
foreach ($user in $Import) {
New-ADUser -Name $user.SamAccountName -GivenName $user.GivenName -Surname $user.Surname -Path $OU -AccountPassword $Password -ChangePasswordAtLogon $True -Enabled $True -UserPrincipalName $user.UserPrincipalName
}
Die Befehlszeilen in PowerShell in demselben Verzeichnis ausführen wo die exportierte CSV-Datei („users.csv„) liegt, oder mit dem Parameter -Path der entsprechende Pfad zur Datei übergeben.

Sobald sich der neu angelegte Benutzer an AD anmeldet, erhält dieser die Aufforderung ein neues Kennwort einzugeben, hierdurch das initial Password („Initpass„) ersetzt wird.
Fazit
Das Active Directory Cmdlet New-ADUser erleichtert das Erstellen mehrerer Active Directory-Benutzer. Es können häufig verwendete Benutzereigenschaftswerte mit Parameter festgelegt werden. Mit der Verwendung des Cmdlet Import-Csv und New-ADUser ist es möglich, eine grössere Anzahl Active Directory-Benutzerobjekte zu erstellen. Die benutzerdefinierten Objekte werden aus einer durch Kommas getrennten CSV-Datei erstellt, die eine Liste von Objekteigenschaften enthält. Die Objekte werden über Pipe an New-ADUser gesendet, um die Benutzerobjekte mit Attributen zu erstellen. Die Hilfe wird mit get-help New-ADUser ausgegeben.