ASV Export 552 Mit Hilfe von Powershell kann man Microsoft 365 Nutzer schnell und einfach anlegen und Lizenzen hinzufügen. Dafür benötigt man eine .CSV Datei mit den Daten der Nutzer, zum Beispiel: Beim Ausspielen eines Passworts ist auf die Formatierung zu achten, da sonst die führenden Nullen bei einem Excel-Import wegfallen.Password = „Ms“ + obj.getSchuelerStamm().getGeburtsdatum().format(„ddMMyy“) Diese .CSV Datei kann man mit folgendem Exportformat aus ASV exportieren: Export-Microsoft-365-Schueler_Powershell.exfHerunterladen Export-Microsoft-365-Lehrer_Powershell.exfHerunterladen Exportformat für ASV: Importieres Exportformat in ASV Standardmäßig werden folgende Informationen ausgegeben: UserPrincipalName,FirstName,LastName,DisplayName,Password,Control Diesen 6 Feldern wurde jeweils ein passendes Skript hinterlegt. //UserPrincipalName z.B.: Richard8A@meineSchule.de UserPrincipalName = normalizeString(obj.getSchuelerStamm().getRufname()) + normalizeKlasse(obj.getKlassengruppe().getKlassenname()) + "@meineSchule.de"; //FirstName FirstName = normalizeString(obj.getSchuelerStamm().getRufname()) //LastName, wäre hier der Klassenname LastName = normalizeKlasse(obj.getKlassengruppe().getKlassenname()) //ODER, wäre hier der erste Buchstabe des Familiennamens LastName = normalizeString(obj.getSchuelerStamm().getFamilienname().substring(0,1)) //DisplayName DisplayName = normalizeString(obj.getSchuelerStamm().getRufname()) + " " + normalizeKlasse(obj.getKlassengruppe().getKlassenname()) //Password, wäre hier das Geburtsdatum des Schülers Password = "Ms" + obj.getSchuelerStamm().getGeburtsdatum().format("ddMMyy") //Control, ist nur wichtig, wenn man anonymisierte Accounts erstellt, um lokal zu wissen wer wer ist Control = obj.getSchuelerStamm().getFamilienname() Wichtig sind noch die im globalen Scripting eingebundenen Methoden normalizeString() und normalizeKlasse(): import java.text.Normalizer; //entfernt aus Strings Umlaute und andere Besonderheiten, die nicht im Microsoft365 Account Namen vorhanden sein dürfen String normalizeString(String tempNormString) { String normString = tempNormString; normString = normString.split("-")[0] normString = normString.replaceAll("Ä","Ae").replace("Ü","Ue").replace("Ö","Oe").replace("ä","ae").replace("ö","oe").replace("ü","ue").replace("ß","ss").replace(" ","").replace("_",""); normString = Normalizer .normalize(normString, Normalizer.Form.NFD) .replaceAll("[^\\p{ASCII}]", ""); return normString; } //entfernt aus einem Klassen-String ein "M" und ein "f" -> so wird aus M7A -> 7A String normalizeKlasse(String klasse){ String normKlasse = klasse.replaceAll("M", "").replaceAll("f ", "") return normKlasse; } Links Nutzer und Gruppen mit CSV-Datei anlegenNutzern Lizenzen hinzufügen unsere-schule.org × ASV Export Code: 552 Infos: unsere-schule Codes