kudos @troeder
Um alle Optionen und Properties zu sehen, einfach udm users/user
ohne weitere Argumente ausführen.
- Die Rolle muss gesetzt werden:
--append-option=ucsschoolStudent
bzw.ucsschoolTeacher
/ucsschoolStaff
. Für die Rolle “Lehrer und Mitarbeiter” beides setzen. - Alle Schulen (hier
OU1
undOU2
) die besucht werden sollen setzen:--append school=OU1 --append=school OU2
- Die primäre (evtl. einzige) Schule setzen mit der Position des Objekts im LDAP-Baum:
--position "cn=schueler,cn=users,ou=OU1,$(ucr get ldap/base)"
. Die Container variieren bei den Rollen (cn=lehrer
,cn=mitarbeiter
,cn=lehrer und mitarbeiter
). Am Besten mit existierenden Usern vergleichen. - Die folgenden Gruppen setzen:
--set "primaryGroup=cn=Domain Users OU1,cn=groups,ou=OU1,$(ucr get ldap/base)"
plus--append "groups=cn=schueler-OU1,cn=groups,ou=OU1,$(ucr get ldap/base)"
plus die DNs aller Klassen, z.B.--append "groups=cn=OU1-2b,cn=klassen,cn=schueler,cn=groups,ou=OU1,$(ucr get ldap/base)"
Zu ersetzen istcn=schueler-OU1
evtl. gegencn=lehrer-OU1
bzw.cn=mitarbeiter-OU1
odercn=admins-OU1
. - Die UCS@school Objekt-Rolle muss gesetzt werden:
--append ucsschoolRole=student:school:OU1
evtl. weitere Rollen:--append ucsschoolRole=student:school:OU2
bzw.--append ucsschoolRole=teacher:school:OU1
--append ucsschoolRole=staff:school:OU1
Beispiel: https://github.com/univention/schulangebot/blob/master/roles/setup/tasks/create-users.yml
Das sollte es sein… Das Ergebnis per udm users/user list --filter uid=USERNAME
vergleichen mit in der UMC angelegten Usern. Die Optionen (welche die Rolle festlegen) werden dabei leider nicht angezeigt. Die am Besten in der UMC vergleichen.
Wenn jemand Python programmieren kann, dann ist damit deutlich leichter zu automatisieren. Bei Interesse schreibe ich hier gerne ein paar Ansätze auf.
Alternativ gibt es jetzt die Kelvin REST API, mit der School-User zuverlässig per HTTP provisioniert werden können: https://docs.software-univention.de/ucsschool-kelvin-rest-api/
Für diese gibt es wiederum einen komfortablen Python-Client: https://kelvin-rest-api-client.readthedocs.io/en/latest/ Aber HTTP kann natürlich aus jeder Programmiersprache heraus angesprochen werden.
Geste Grüße
Daniel