Univention-directory-reports

Hallo,
ich versuch auf der Konsole einen Directory-report zu erstellen. Im Webinterface klappt das wunderbar.

univention-directory-reports -m users/user -r "Standard Report" -u Wieser -p PASSWORT dc=people,dc=DUNICHT,dc=sol

Beim LDAP search string habe ich alle mir logischen Möglichkeiten ausprobiert. Ohne Erfolg.

Traceback (most recent call last):
  File "/usr/bin/univention-directory-reports", line 195, in <module>
    main()
  File "/usr/bin/univention-directory-reports", line 157, in main
    base = options.base, start_tls = 0 )
  File "/usr/lib/pymodules/python2.6/univention/directory/reports/admin.py", line 253, in connect
    _admin = AdminConnection( userdn, password, host, base, start_tls, access )
  File "/usr/lib/pymodules/python2.6/univention/directory/reports/admin.py", line 103, in __init__
    binddn = userdn, bindpw = password, start_tls = start_tls )
  File "/usr/lib/pymodules/python2.6/univention/admin/uldap.py", line 254, in __init__
    self.lo=univention.uldap.access(host, port, base, binddn, bindpw, start_tls, follow_referral=follow_referral)
  File "/usr/lib/pymodules/python2.6/univention/uldap.py", line 169, in __init__
    self.__open(ca_certfile)
  File "/usr/lib/pymodules/python2.6/univention/uldap.py", line 207, in __open
    self.lo.simple_bind_s(self.binddn, self.__encode_pwd(self.bindpw))
  File "/usr/lib/python2.6/dist-packages/ldap/ldapobject.py", line 207, in simple_bind_s
    return self.result(msgid,all=1,timeout=self.timeout)
  File "/usr/lib/python2.6/dist-packages/ldap/ldapobject.py", line 422, in result
    res_type,res_data,res_msgid = self.result2(msgid,all,timeout)
  File "/usr/lib/python2.6/dist-packages/ldap/ldapobject.py", line 426, in result2
    res_type, res_data, res_msgid, srv_ctrls = self.result3(msgid,all,timeout)
  File "/usr/lib/python2.6/dist-packages/ldap/ldapobject.py", line 432, in result3
    ldap_result = self._ldap_call(self._l.result3,msgid,all,timeout)
  File "/usr/lib/python2.6/dist-packages/ldap/ldapobject.py", line 96, in _ldap_call
    result = func(*args,**kwargs)
ldap.INVALID_DN_SYNTAX: {'info': 'invalid DN', 'desc': 'Invalid DN syntax'}

Hat jemand eine Idee was da falsch lÀuft. Im Voraus schon mal vielen Dank.

Hallo,

univention-directory-reports erwartet eine Listen von DNs fĂŒr die eine Report erstellt werden soll, es kann kein Container angegeben werden.

Mit freundlichen GrĂŒĂŸen
Janis Meybohm

Viele Dank fĂŒr ihre Antwort. Können Sie mir ein Beispiel geben. MIT DNs wĂŒrde ich folgendes assozieren.
Mit

uid=Wieser,ou=People,dc=people,dc=SSSS,dc=sol

funktioniert es ebenfalls nicht - gleiche Fehlermeldung

Hallo,

Voraussetzung ist dass der DN, also das angegebene Objekt, auch existiert (das kann ich in Ihrem Fall natĂŒrlich nicht verifizieren). Außerdem muss der Benutzer mit dem die Authentifikation erfolgt ebenfalls in Form des DN angegeben werden.
Um z.B. einen Report ĂŒber alle Benutzer zu generieren generieren, könnten Sie den folgenden Befehl verwenden:

IFS=$'\n'; univention-directory-reports -m users/user -r "Standard Report" -u uid=Wieser,ou=People,dc=people,dc=SSSS,dc=sol -p PASSWORT $(udm users/user list | sed -ne 's/^DN: \(.*\)$/"\1"/p')

Mit freundlichen GrĂŒĂŸen
Janis Meybohm

Hallo,
super vielen Dank. Es hat geklappt. Allerdings habe ich

sed -ne ‘s/^DN: (.*)$/"\1"/p’)

durch

sed -ne ‘s/^DN: (.*)$/\1/p’)

ersetzen mĂŒssen.

Irgendwie lauf ich vor die Wand :slightly_frowning_face:
Ich bekomme nicht einmal einen CSV report hin

Blockquote

root@DC01:/etc/univention/directory/reports/default/de_DE# univention-directory-reports -m users/user CSV
warning: dn ‘CSV’ not found, skipped.
The PDF Document has been created: /tmp/univention-directory-reports-lU2Rvdrml.pdf
root@DC01:/etc/univention/directory/reports/default/de_DE# univention-directory-reports -m users/user -r"CSV Report"
Usage: univention-directory-reports -m [options] dn1 dn2 


Error: no DNs specified on command line
root@DC01:/etc/univention/directory/reports/default/de_DE# univention-directory-reports -m users/user -l
Reports for module: users/user

  • CSV Report
  • PDF Document

Blockquote

Eigentlich steht in der Fehlermeldung ja was nicht stimmt. :slight_smile: Es wird ein DN erwartet.
Das hier funktioniert bei mir zum Beispiel:

univention-directory-reports -m users/user uid=roland,cn=users,dc=roland,dc=intranet

LG

Vielen Dank fĂŒr die fixe Antwort dann muss ich wohl weitersuchen, ich suche nach einer Möglichkeit alle user zu reporten abzuziehen und in ein *.csv format zu bringen
Allerdings muss ich auch auf OU filtern können
Vermutlich muss ich da dann doch eher bei LDAP ansetzen

Hmm, das geht sicher - ist aber schon sehr lange her, dass ich das gebraucht hÀtte.
Lt. Handbuch sollte da ja auch ĂŒber die UMC machbar sein, da taucht die Option bei mir jedoch nicht auf.

So macht man jedenfalls einen CSV-Report fĂŒr einen einzelnen Benutzer:
univention-directory-reports -m users/user -r “CSV Report” uid=tamara,ou=benutzer,dc=roland,dc=intranet

Da mir fĂŒr diesen Report laufzeiten egal sind nehme ich einfach ein bash script das mir erst ein gefilterte lite ausgiebt und fĂŒtter dann das report tool damit
das geht bestimmt viel eleganter aber wenn es den Zweck erfĂŒllt


univention-ldapsearch | grep ^dn:\ uid | grep ou=ORG | sed 's/^....//'  > userlist.txt
root@DC01:~# univention-directory-reports -m users/user -r "CSV Report" `cat userlist.txt`

Wenn man nach Ablauf des scripts noch ein tr '\t ' ';' < univention-directory-reports-xxxx.csv laufen lÀsst lassen sich die daten in Excel gut importieren

Hallo allerseits,

hier ein “elegantes” Beispiel zum Erstellen eines Reports fĂŒr alle Mitglieder der DEMOSCHOOL:

eval $(ucr shell)
univention-directory-reports -m users/user -r "CSV Report" $(udm users/user list --position ou=DEMOSCHOOL,${ldap_base} | sed -ne 's/^DN: //p')
2 Likes
Mastodon