FAQ: |
Empfängeradressen für alle Benutzer einer bestimmmten OU per Script setzen |
Jeder der schon mal versucht hat, bei Exchange 2000 oder Exchange 2003 eine Empfängerrichtline ausschließlich den Postfachbenutzern nur in einer OU zuzuordnen, kennt den Effekt.
Man hat im ESM in den Standardmöglichkeiten zur Adressregel-Vergabe keine Möglichkeit gefunden, nur die Benutzer einer bestimmten OU auszuwählen. Danach hat man sich durch die Theorie der LDAP-Filter gekämpft und schließlich auch die Möglichkeit gefunden, über "Benutzerdefinierte Suche -> Erweitert" eine Filter direkt einzugeben. Dort versucht man dann das Attribut "distinguishedName" für den Filter zu benutzen, denn in diesem Attribut steht der LDAP-Pfadname jedes Benutzers - also müßte sich hier doch nach einer bestimmten OU filtern lassen:
In diesem Beispiel soll die Policy für alle Benutzer der OU "Karlsruhe" gelten. Doch leider zeigt sich, dass die Adressregeln auf kein einziges Benutzerobjekt angewendet werden - man kann dies sofort mit der Option "Jetzt suchen" überprüfen. Der Grund: ADS erlaubt (übrigens streng nach X.500 Spezifikation) keine Wildcards in Filtern mit Attributen, die Distinguished Names enthalten. Und das hier verwendete "distinguishedName" enthält ganz offensichtlich derartige Namen. Nähere Erläuterungen zu dieser Beschränkung können Sie dem entsprechenden Abschnitt des SelfADSI-Tutorials entnehmen: "LDAP-Filter".
Da wir nun wissen, das es mit einer normalen Policy nicht funktioniert, könnte man versuchen, ein anderes Attribut für die Auswahl heranzuziehen. Sind alle Postfächer der betreffenden Benutzer in der OU auf dem gleichen Exchange-Server beheimatet, so könnte man z.B. dieses Kriterium zur Definition der Empfängerrichtlinie verwenden. Oder man markiert alle entsprechenden Benutzer mit Hilfe eines anderen Attributes, z.B. der Beschreibung - die Empängerrichtlinie wird dann anhand des Description-Attributes gebildet.
All das sind natürlich nur Hilfskonstrukte - zum Teil sogar sehr beschwerliche. Als automatisierte Alternative bietet sich uns eigentlich nur das Hinzufügen der von uns gewünschten Empfänger-Adressen per VBScript. Das entsprechende Script müßte dann einfach alle Benutzer-Objekte mit Postfach finden und zu den bestehenden Empfängeradressen (Attribut "proxyAddresses") die gewünscht Adresse hinzufügen.
Das Visual Basic Script SetAdr ändert über die ADSI-Schnittstelle per LDAP-Zugriff die Empfängeradressen der Benutzer-Objekte innerhalb einer gegebenen OU. Es kann als Vorlage für eigene Erweiterungen verwendet werden.
Download von SetAdr.vbs |