[Postfixbuch-users] gültige Empfänger aus dem ADS CSVDE Problem

Andreas Winkelmann ml at awinkelmann.de
Sa Sep 8 13:53:31 CEST 2007


On Saturday 08 September 2007 12:31, Yves Bilgeri wrote:

> habe, wie in Ralf und Patrick's Buch beschrieben, die gültigen
> E-Mail-Empfänger aus dem ADS stündlich per Script auf einen
> vorgeschaltenen Postfix-Server exportiert. Dies lief nun gut zwei Monate
> ohne Probleme. Dann eines Tages fügte der Exchangeadmin neue Benutzer
> dem AD hinzu. Seit dann funktioniert der Export per CSVDE nicht mehr und
> bricht mit der Fehlermeldung "ldap_search_s-Fehler: "Maximale Größe
> überschritten"" ab (siehe unten). Im AD hat es gut 730 Benutzer. Das
> kann ja nicht wirklich das Problem sein. Weitere Exportversuche
> scheiterten bis jetzt immer an dieser Meldung.
>
> Kennt jemand eine andere Möglichkeit, die gültigen E-Mailadressen zu
> exportieren, oder weiss jemand einen Rat, durch was der Fehler ausgelöst
> wird.

Bei LDAP-Abfragen im AD gibt es ein Ergebnis-Limit von ca. 1000. Da Du nicht 
nur nach Benutzern, sonder auch nach Verteilergruppen fragst, könnte das mit 
dem 1000'er Limit passen. Als Workaround könntest Du Deine Abfrage splitten. 
Erst nach Benutzern (&(objectClass=user)(objectCategory=person)), dann 
(objectClass=groupOfNames) und als letztes 
(objectClass=msExchDynamicDistributionList). Evtl. kannst Du aber auch csvde 
eine Option mitgeben um die Ergebnis-Grösse zu erhöhen. Habe keinen 
Windows-Rechner hier.

1. C:\>csvde -m -n -g -f "c:\mailrelay_users.txt" -r "(&(objectClass=user)
(objectCategory=person))" -l proxyAddresses

2. C:\>csvde -m -n -g -f "c:
\mailrelay_groups.txt" -r "(objectClass=groupOfNames)" -l proxyAddresses

3. C:\>csvde -m -n -g -f "c:
\mailrelay_lists.txt" -r "(objectClass=msExchDynamicDistributionList)" -l 
proxyAddresses

Als ich mich mal damit beschäftigt hatte, habe ich keinen sonderlich einfachen 
Weg gefunden dieses Limit zu vergrössern, und da wir schon weit mehr wie 1000 
User hatten, habe ich mir VB-Scripte gebastelt um das AD zu durchlaufen. Ist 
zwar etwas langsamer, aber dann ist es egal wieviele Einträge gefunden werden 
sollen.

> C:\>csvde -m -n -g -f "c:\mailrelay_recipients.txt" -r
> "(|(&(objectClass=user)(o
> bjectCategory=person))(objectClass=groupOfNames)(objectClass=msExchDynamicD
>istri
>
> butionList))" -l proxyAddresses
> Verbindung mit "dc-zag01.zagintra.ch" wird hergestellt
> Anmelden als aktueller Benutzer unter Verwendung von SSPI
> Das Verzeichnis wird in die Datei "c:\mailrelay_recipients.txt" exportiert.
> Es wird nach Einträgen gesucht...
> ldap_search_s-Fehler: "Maximale Größe überschritten"
> Fehler im Programm
> Es wurden keine Protokolldateien geschrieben. Geben Sie mit der Option
> -j einen
> Protokolldateipfad an, um eine Protokolldatei zu generieren.

-- 
	Andreas



Mehr Informationen über die Mailingliste Postfixbuch-users