Die CSV muss bsp. so aussehen

firstname;lastname;phone;fax;mobile;desciption;password Homer;Simpson;12345;54321;112233;AKW Springfield;Donut

 

Hier der Download des Scripts:
[wpdm_package id=’99‘]
Und hier der Code
#(C) 2016 Kai Herzig
#-------------------
#
#Die Ueberschriften in der CSV müssen identisch sein, mit dem was nach $User. folgt
# Bsp. heisst eine Überschrift "keineahnung" wäre die Variable dazu $User.keineahnung
# Um diese im Add-ADUser Befehl auszuführen muss jeder eintrag AUSSER DER LETZTE mit "`" enden.
# Achtung: Groß/Kleinschreibung ist wichtig!
# Um alle Attribute zu erhalten die New-ADUser Unterstützt - in einer PowerShell "get-help new-aduser" eintippen.
#-----Los gehts-----

# AD Modul laden
Import-Module activedirectory

#CSV Datei - Hier im gleichen Verzeichniss
$ADUsers = Import-csv -Delimiter ";" -Path ".\ADUsers.csv"

#Auslesen der CSV und in Variablen

foreach ($User in $ADUsers)
{
#Wenn das Passwort aus der CSV kommen soll muss $Passwordincsv auf true stehen, ansonsen bitte auf false und $fixpassword auf das Passwort setzen
$Passwordincsv = true

#$FixedPassword ist nur interessant wenn $Passwordincsv auf false steht.
$Fixpassword    =    'MeinPasswortfuerAlle'

#Hier nichts ändern ----->
if($Passwordincsv -eq "true")
{ $Password = $User.password }
else
{ $Password = $Fixpassword }
#<-----Ende Hier nichts ändern

$Firstname     = $User.firstname
$Lastname     = $User.lastname
$Phone        = $User.phone
$Fax        = $User.fax
$Mobile        = $User.mobile
$Description = $User.description
$Domainsuffix        =    'irgendwas.meinedomain.tld'

# Wie soll der DisplayName aussehen?
$DisplayName    =    '$Lastname, $Firstname'

# Wie soll der Anmeldename aussehen?
$Username     = $Firstname.$Lastname

#In welche OU soll der Benutzer?
$OU         = 'OU=Users,DC=intra,DC=domain,DC=tld'

#Pruefen ob das Objekt bereits exsitiert...
if (Get-ADUser -F {SamAccountName -eq $Username})
{
#Wenn das Objekt bereits existiert
Write-Warning 'Benutzer existiert bereits.'
}
else
{
New-ADUser `
-SamAccountName $Username `
-UserPrincipalName $Username$Domainsuffix `
-Name $Lastname, $Firstname `
-GivenName $Firstname `
-Surname $Lastname `
-Enabled $True `
-Description $Description `
-OfficePhone $Phone `
-MobilePhone $Mobile `
-Fax $Fax `
-DisplayName $DisplayName `
-Path $OU `
-AccountPassword (convertto-securestring $Password -AsPlainText -Force)
}
}