Als Administrator kommt es doch öfters vor das man eine Liste von User hat die man in einer AD anlegen soll, dazu gibt es die Möglichkeit die Benutzer mit Powershell aus einer CVS-Datei anzulegen.
Mit dem Script CSV2AD v2 habe ich auch ein hervorragendes Tool gefunden, welches sogar das anpassen von Optionen über eine grafische Oberfläche erlaubt. Leider funktionieren nicht alle dort angebotenen Optionen so wie ich es mir gewünscht habe so das ich z.B. die "Basisordner" durch markieren aller User unter "Eigenschaften" -> "Profil" mit Angabe von Laufwerksbuchstaben und //netzwerkpfad/userdirs$/%username%
nachträglich eintragen müsse damit die Verzeichnisse mit den richtigen Berechtigungen erstellt wurden. Auch Gruppenmitgliedschaften hat das Script bei mir nicht erstellt, selbst wenn ich den entsprechenden Hacken gesetzt habe, so dass ich ich auch hier über das markieren aller Benutzer unter "Alle Aufgaben" -> "Einer Gruppe hinzufügen ..." gehen musste.
Die nächste Option die ich benötigte die aber auf meinen Windows 2012R2 Server mit Powershell 4 nicht funktionieren wollte, obwohl das Script sie anbietet, war das vergeben von Individuellen (Initialisierungs) Passwörter für jeden Einzelnen User. Außerdem bietet das Script nur an dafür Zufallspasswörter zu erzeugen während ich gerne vom Usernamen und weiteren Optionen abgeleitete Passwörter verwenden wollte die ich in einer CSV Datei gespeichert hatte. Also habe ich zuerst alle User mit einem einheitlichen Passwort erzeugt und anschließend nach einem Script zum neu-setzen der Passwörter gesucht, da ich dafür direkt kein fertiges Script gefunden habe habe ich ein Script zum setzen des Kennworts für einen User etwas angepasst damit die Werte welche sich in einer CSV Datei befinden für mehrere User nacheinander automatisch gesetzt werden.
Dieses Script biete ich nun hier zum Download an: Script als setpw.txt ansehen oder setpw.bat herunterladen
In dem Script muss noch der Name der Domäne set domainname=TUX
, der Pfad zur CSV Datei set wd=C:\Users\Administrator\Documents\
(hier wird auch eine Log Datei abgelegt) und deren Name set "file=%wd%\pw.csv"
angepasst werden.
Für dieses Script benötigt man als Quelle eine CSV Datei die mindestens eine Spalte mit den Benutzernamen und eine mit den Passwörtern enthält, meine CSV Datei ist folgendermaßen aufgebaut:
Vorname;Nachname;Username;Neuespasswort
Also z.B.
Miki;Maus;Miki.Maus;MiMaPasswd
Max;Mustermann;Max.Mustermann;MaMuPasswd
Mini;Maus;Mini.Maus;MiMaPasswd
Zum setzen der Kennwörter werden jedoch nur der Benutzername und das Kennwort benötigt, sollte eine anders aufgebaute CSV Datei als Quelle dienen muss im Script nur unter "set /a usercsv = 3, pwcsv = 4"
die Spalten in welcher der Benutzername bzw. das neue Kennwort stehen angepasst werden. Auch kann man gerne Spaltenüberschriften vergeben solange kein Nutzer mit dem Namen der Überschrift für den Benutzernamen existiert da das Script die Existenz eines Benutzernamens überprüft und nicht vorhandene User überspringt.
Quellen:
http://nt-guys.com/csv2ad-active-directory-user-import-aus-csv/
http://hannes-schurig.de/13/03/2014/passwort-andern-von-windows-accounts-im-adlokal-via-skript-mit-optionen/
https://www.administrator.de/frage/2-spalten-csv-batch-variable-auswerten-mssql-query-%C3%BCbergeben-250034.html#comment-954100