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) } }
Hallo Herr herzig,
erstmal vielen Dank für das tolle Script.
Mir wurde gesagt, dass zum einsetzten von Umlauten eine UTF-8 Kodierung genutzt werden muss, wie lässt sich das am besten ergänzen?
Vielen dank im Voraus
Mit freundlichen Grüßen
Enes Aydemir