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:

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

unsere-schule.org

×

ASV Export

Code: 552