Univention-directory-reports

german

#1

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.


#2

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


#3

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


#4

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


#5

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.