ISA Server FAQ Home | ISA 2000 | ISA 2004 | ISA 2006 | TMG | Verschiedenes | Tools | Downloads | Links | Das Buch! | Bücher | User Group | Events | Blog | About | Sitemap | Suche

Kapitel höher
Unzustellbarkeitsbenachrichtigung
Autoresponder
Datenbanken verschieben
Produktversion
Kontakte und PDA
Exchange 2007 AgentLog
Dynamische Verteilergruppen
Vista Passwortablauf
Zeitsynchronisierung
Royal TS
SMTP Diagnostic
Logfiles lesen
ISO-Image als CD
IP Subnetze
Private IP Adressbereiche
MIME-Typen
Bekannte Ports
Office 365 Passwort
Malware melde

 

Empfänger von dynamische Verteilergruppen in Outlook anzeigen - von Christian Gröbner


Die Informationen in diesem Artikel beziehen sich auf:

  • Windows Server 2008
  • Exchange Server 2007

 

In Exchange Server 2007 gibt es dynamische Verteilergruppen, deren Empfänger sich automatisch anhand von Attributen der Empfängerobjekte, wie zum Beispiel der Abteilung, zusammensetzen. Der Vorteil von dynamischen Verteilergruppen ist, dass durch die EDV nicht zusätzlich die Gruppenmitgliedschaft für Verteilergruppen gepflegt werden muss, sondern sich diese wie bereits erwähnt anhand der Attribute zusammensetzt. Wechselt zum Beispiel ein Mitarbeiter die Abteilung so muss der Administrator nur die Abteilung in der Verwaltungskonsole Active Directory Benutzer und Computer für den Benutzer ändern, und der Benutzer befindet sich automatisch auf dieser Verteilerliste.



In Outlook selbst erscheinen die dynamischen Verteilergruppen wie normale Gruppen auch in der Auswahl "Alle Gruppen". Leider gibt es in Outlook keine Möglichkeit die Mitglieder dieser Gruppen anzuzeigen und der Absender steht meist vor einem Rätsel an wen er die E-Mail jetzt eigentlich schickt. Ein vergessener Empfänger bei einer wichtigen E-Mail kann unter umständen negative Folgen haben.

Wie kann man nun sehen, welche Empfänger sich hinter dieser dynamischen Verteilerliste verbergen?

Leider gibt es in Outlook keine Möglichkeit die Mitglieder der dynamischen Verteilerliste angezeigt zu bekommen und man ist hier gezwungen sich diese über einen kleinen Workarround zu basteln. Jede dynamische Verteilergruppe besitzt ein Feld Kommentar, in welchen Informationen zur Gruppe eingetragen werden können. Wenn man dieses Feld mit den Mitgliedern der Gruppe füllt, bekommt dies der Absender auch in Outlook über die Eigenschaften der Gruppe angezeigt. Nun wäre es aber eine Menge an Arbeit für den Administrator bei einer Veränderung der dynamischen Verteilergruppe den Kommentar für diese Gruppe zu pflegen. Besonders in größeren Umgebungen mit sehr vielen Gruppen kann hier leicht der Überblick verloren gehen und es ist für den Administrator somit unmöglich sämtliche Kommentare zu überarbeiten.

Folgendes Powershell-Skript erleichtert hier die Arbeit für den Administrator, da es automatisch anhand des LDAP-Filters, mittels dem dynamische Verteilergruppen ihre Empfänger ermitteln, die Empfänger ausliest und diese in den Kommentar der dynamischen Verteilergruppe schreibt.

Hinweis: Als Voraussetzung für dieses Skript müssen die Powershell und die Verwaltungskonsole von Exchange Server 2007 auf dem Server installiert sein.

Kopieren Sie sich folgendes Skript per Copy&Paste in einen Texteditor und speichern Sie es mit der Dateiendung .ps1 ab.

 
###########################################################################################

Dieses Powershell-Skript schreibt automatisch bei Aufruf die Empfänger von dynamischen
Verteilergruppen in den Kommentar, damit diese in Outlook über die Eigenschaften der
dynamischen Verteilergruppe angezeigt werden.

Die Verwendung dieses Skripts erfolgt auf eigene Verantwortung.
Es wird keine Haftung für eventuelle Schäden übernommen!

geschrieben von Christian Gröbner [MVP Forefront]

###########################################################################################

function write-Eventlog([string]$gname)
{

  $text = "Die Dynamische Verteilergruppe " + $gname + " wurde aktualisiert."

  $Eventlog = new-object System.Diagnostics.EventLog('Application')
  $Eventlog.MachineName = "."
  $Eventlog.Source = "Verteilergruppen Aktualisierung"
  $Eventlog.WriteEntry($text)

}

### Main

$groups = Get-DynamicDistributionGroup | select DisplayName, LdapRecipientFilter, RecipientContainer, Notes

foreach ($group in $groups)
{

  $members =""
  $objContainer ="LDAP://" + $group.RecipientContainer.DistinguishedName
  $objDomain = New-Object System.DirectoryServices.DirectoryEntry $objContainer
  $strFilter = $group.LdapRecipientFilter

  $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
  $objSearcher.SearchRoot = $objDomain
  $objSearcher.Filter = $strFilter
  $objSearcher.SearchScope = "Subtree"
  $objSearcher.PropertiesToLoad.Add("Name")
  $objSearcher.Sort.PropertyName = "Name"

  $colResults = $objSearcher.FindAll()

  foreach ($Result in $colResults)
  {

   $objMember = $Result.Properties

   if ($objMember.name -ne $null)
   {
    $members = $members + ", " + $objMember.name
   }

  }

  $members = $members.substring(2,$members.length-2)

  if ($members -ne $group.Notes)
  {
    write-Eventlog($group.DisplayName)
    Set-DynamicDistributionGroup -id $group.DisplayName -Notes $members
  }

}
 

Funktion des Skripts
Zunächst werden in der Variablen $groups mit dem Powershell-Befehl Get-DynamicDistributionGroup alle vorhandenen dynamischen Verteilergruppen mit den Attributen DisplayName, LdapRecipientFilter, RecipientContainer und Notes hinterlegt. Anschließend werden diese Gruppen durchlaufen und zunächst einige Einstellungen abhängig von der dynamischen Verteilergruppe gesetzt.

 
$members Enthält die Zeichenfolge der Mitarbeiter die in dieser Gruppe Mitglied sind.
$objContainer Enthält die Die Organisationseinheit auf die sich der LDAP-Filter bezieht, also z.B. OU=Mitarbeiter,DC=DOMAIN,DC=LOCAL
$objDomain Variable für das Verzeichnisobjekt
$strFilter Die LDAP-Abfrage aus der die dynamische Verteilergruppe gebildet wird.

Nachdem die wichtigen Einstellungen für die dynamsiche Verteilergruppe gesetzt wurden, wird im Skript eine LDAP-Abfrage ausgeführt, die die in der Gruppe enthaltenen Benutzer nach Alphabet sortiert zurück liefert. Liefert die Abfrage ein Ergebnis, werden die Empfänger in der Variable $members der Reihe nach hinzugefügt. Sofern es einen Unterschied zwischen der Empfängerliste in der Variable $members gibt und der bislang vorhandenen Empfängerliste der dynamischen Verteilerliste werden die neu ermittelten Empfänger über den Powershell-Befehl Set-DynamicDistributionGroup in den Kommentar der dynamischen Verteilerliste geschrieben.
Ausführen des Skripts
Das Skript können Sie am Besten über einen geplanten Task ausführen lassen, dadurch stellen Sie sicher, dass die dynamischen Verteilergruppen regelmäßig aktualisiert werden. Am einfachsten geht dies über eine Batch-Datei mit folgendem Inhalt, wobei Sie den fett marktieren Teil auf Ihr Verzeichnis und Ihren Dateinamen anpassen müssen.

"C:\WINDOWS\system32\WindowsPowerShell\v1.0\PowerShell.exe" -psconsolefile "C:\Programme\Microsoft\Exchange Server\bin\exshell.psc1" -command "X:\scripts\changeDistributionGroupNotes.ps1"

Testen der Funktion
Wenn das Skript ohne Fehler durchgelaufen ist, dann können Sie in der Verwaltungskonsole von Exchange Server 2007 bereits im Kommentar, die durch das Skript hinterlegten Mitglieder der dynamischen Verteilergruppe sehen. In Outlook selbst können Sie jetzt auch über die Eigenschaften der dynamischen Verteilergruppe sehen, welche Mitglieder diese Gruppe besitzt. Beginnen Sie hierzu eine neue Nachricht und klicken Sie auf die Schaltfläche An und wechseln Sie im Emfpängerfilter auf "Alle Gruppen". Wählen Sie danach eine dynamische Verteilergruppe aus und wählen über die rechte Maustaste aus dem Kontextmenü den Eintrag Eigenschaften aus.



Wie im Bild gezeigt stehen die Empfänger dieser dynamischen Verteilergruppe jetzt im Kommentar.

Abschließender Hinweis: Das Kommentarfeld einer dynamischen Verteilergruppe fasst maximal 2048 Zeichen. Diese Lösung eignet sich daher nur für Gruppen die nicht extrem groß sind.

 

Stand: Saturday, 29. August 2009/CG.


Home | ISA 2000 | ISA 2004 | ISA 2006 | TMG | Verschiedenes | Tools | Downloads | Links | Das Buch! | Bücher | User Group | Events | Blog | About | Sitemap | Suche

Fragen oder Probleme in Zusammenhang mit dieser Website richten Sie bitte an den Webmaster. Bitte inhaltliche oder technische Fragen ausschließlich in der deutschen ISA Server Newsgroup stellen.
Verbesserungsvorschläge, Anregungen oder Fremdartikel sind jederzeit willkommen! Copyright 2001-2011. Alle Rechte vorbehalten. msisafaq.de steht in keiner Beziehung zur Microsoft Corp.
Stand: Monday, 18. March 2013 / Dieter Rauscher