Einfacher LDAP-to-CSV-Konverter

Ich habe mir ein einfaches Python-Skript geschrieben, mit dem ich eine LDAP-Abfrage absetzen und das Ergebnis in Form einer CSV-Datei speichern kann. Auf diese Weise kann ich beispielsweise die Benutzernamen aus linuxmuster.net in WebUntis importieren. Die Konfiguration wird in YAML-Dateien abgelegt. Dabei kann man mehrere angeben, um die Grundkonfiguration (Host und Binduser) nur einmal speichern zu müssen. Das Tool ist sehr rudimentär, aber vielleicht kann es ja trotzdem jemand gebrauchen.

3 „Gefällt mir“

Hallo Matthias,

coole Sache.
Ich hab sowas bisher nicht gebraucht, weil
sophohmorix-print -c 8a
zum Beispiel, in /var/lib/sophomorix/print-data/
die Datei
8c-unknown.csv erstellt und die hat mir immer gereicht („unknown“, weil ich das als root mache. Normalerweise wird das durch die webUI gemacht, und da macht es ein Lehrer, dessen Namen dann dort im Dateinamen auftaucht).
Da gibt es auch eine -webuntis.csv …
Man kann auch die ganze „Schule“ drucken lassen.

LG
Holger

Hallo Holger,

Du hast vollkommen recht. Für den „normalen“ WebUntis-Export reicht sophomorix-print vollkommen aus. Ich hatte aber auch schon den Bedarf, andere Attribute mit zu exportieren. Und dafür habe ich dieses Tool geschrieben.

Viele Grüße
Matthias

Hallo @ebert,

Sehr schöne Initiative !
Eigentlich kann linuxmuster-tools schon alle Daten im LDAP flexibel exportieren, aber als JSON (nicht CSV), und nicht direkt mit CLI wie bei dir.
Dazu habe ich fast keine Doku / Beispiele dafür geschrieben …

Ich könnte dort auch die Konvertierung als CSV implementieren, und endlich mal Beispiele geben …

Da linuxmuster-tools komplett im Projekt integriert ist, ist es auch nicht nötig ein PW zu geben, das geht automatisch.

Viele Grüße

Arnaud

Hallo,

Es ist jetzt in linuxmuster-tools 7.2.41 erledigt, aber nur „basics“: Basic export as csv. · linuxmuster/linuxmuster-tools@dfd1403 · GitHub

Es ist noch unschön, da es momentan keinen direkten Weg per CLI gibt wie bei dir, Beispiel (Method ascsv):

## Gibt alle mögliche Felder von den Users
$ python3 -c "from linuxmusterTools.ldapconnector import LMNLdapReader as lr;lr.ascsv('/roles/teacher')"
CSV file successfully exported to /tmp/export_csv_roles_2024-10-07-12-11-51.csv

## Gibt nur bestimmte Felder von den Users
$ python3 -c "from linuxmusterTools.ldapconnector import LMNLdapReader as lr;lr.ascsv('/roles/teacher', attributes=['cn', 'displayName', 'givenName', 'proxyAddresses', 'sophomorixCustom1'])"
CSV file successfully exported to /tmp/export_csv_roles_2024-10-07-12-12-17.csv

Man kann auch das Trennzeichen auswählen mit delimiter=','.

Felder wie proxyAddresses werden aber noch als „Liste“ ausgegeben, und ich bin noch nicht zufrieden mit dem Exportpfad.

Gruß

Arnaud

1 „Gefällt mir“