Problem
-
Während des Benutzerimports über das UDM bricht der Importjob ab.
incl… Fehlermeldung:
UDM-Eigenschaften userexpiry müssen als Attribute des ImportStudent-Objekts gesetzt werden (nicht in udm_properties)
-
Der Testlauf verläuft normal
Dies ist auf einen bekannten Bug zurückzuführen
Environment
UCS-School 4.4-8
Lösung
Ersetzen Sie userexpiry
mit expiration_date
: Ihrer user_import.json
:
{
"csv": {
"mapping": { "userexpiry": "expiration_date"
}
}
}
und passen Ihre csv
wie folgt an.
person_number,last_name,first_name,isOxUser,expiration_date
Jetzt kann es vorkommen das die vorherigen User auch dieses Datum erhalten sollen. Folgender Vorschlag dazu:
univention-ldapsearch "(&(!(krb5ValidEnd=*))(objectClass=ucsschoolStudent))" 1.1 |grep dn: |sed 's/dn: //'|while read dn; do udm users/user modify --dn "$dn" --set userexpiry='2030-01-01'; done
Wichtig ist eine objectClass
für alle bzw. nur die betroffenen Schüler haben.
Man kann das Script um ein echo
ergänzen um das Ergebnis zu prüfen.
univention-ldapsearch "(&(!(krb5ValidEnd=*))(objectClass=ucsschoolStudent))" 1.1 |grep dn: |sed 's/dn: //'|while read dn; do echo udm users/user modify --dn $dn --set userexpiry='2025-01-01'; done
Problem
-
During the user import via the UDM, the import job aborts.
incl… Error message:
UDM properties userexpiry must be set as attributes of ImportStudent object (not in udm_properties)
. -
The test run runs normally
This is due to a known bug
Environment
UCS-School 4.4-8
Solution
Replace userexpiry
with expiration_date
: of your user_import.json
:
{
"csv": {
"mapping": { "userexpiry": "expiration_date"
}
}
}
and modify your csv
as follows.
person_number,last_name,first_name,isOxUser,expiration_date
Now it can happen that the previous users should also receive this date. Maybe consinder this suggestion:
univention-ldapsearch "(&(!(krb5ValidEnd=*))(objectClass=ucsschoolStudent))" 1.1 |grep dn: |sed 's/dn: //'|while read dn; do udm users/user modify --dn "$dn" --set userexpiry='2030-01-01'; done
It is important to have an objectClass
for all or only the affected students.
You can add an echo
to the script to check the result.
univention-ldapsearch "(&(!(krb5ValidEnd=*))(objectClass=ucsschoolStudent))" 1.1 |grep dn: |sed 's/dn: //'|while read dn; do echo udm users/user modify --dn $dn --set userexpiry='2025-01-01'; done