Verteilergruppen und Mitglieder

Suche nach bestimmten Benutzer in Verteilergruppen

Bei ausscheidenden Mitarbeitern ist es idR interessant in welchen Verteilergruppen dieser Mitglied ist. Ist er nämlich das einzige Mitglied nimmt diese Verteilergruppe nach dem Löschen des Benutzerobjekts uU die Mail zwar noch an aber sie wird ohne einen NDR (Non Delivery Report) zu senden verworfen.

Diese Abfrage ist etwas komplexer, wofür ein PowerShell Script geeigneter ist. Kopieren Sie dazu den folgenden Inhalt in ein ps1 Script (DGMembership.ps1):

$User = read-host -Prompt "Enter Username"
"User " + $User + " is a member of the following groups:"
 
ForEach ($Group in Get-DistributionGroup)
{
   ForEach ($Member in Get-DistributionGroupMember -identity $Group | Where { $_.Name -eq $User })
   { 
      $Group.name
   }
}

Legen Sie das Skript im gewünschten Pfad ab und führen Sie es in einer Powershell aus:

C:\Windows\system32>.\DGMemebrship.ps1
Enter Username: pronto
User pronto is a member of the following groups:
Marketing
Support

Suche nach allen Mitgliedern in einer Verteilergruppe

Um sich alle Mitglieder einer bestimmten Verteilergruppe anzeigen zu lassen verwenden Sie folgendes Kommando:

C:\Windows\system32>Get-DistributionGroupMember "Gruppenname" | Sort -Property DisplayName | Select DisplayName, Alias

Suche nach Verteilergruppen ohne Mitglieder

Um sich alle leeren Verteilergruppen anzeigen zu lassen, müssen Sie folgende zwei Kommandos in einer Powershell hintereinander absetzen:

[PS] C:\Windows\system32>$DG = get-distributiongroup -resultsize unlimited
[PS] C:\Windows\system32>$DG |where {-not(get-distributiongroupmember $_)} | Select-Object Name, DisplayName, GroupType

Name                                                DisplayName                                           GroupType
----                                                -----------                                           ---------
Marketing                                           Marketing                                             Global
Softwarefactory                                     Softwarefactory                                       Global
Support                                             Support                                               Global

Im Prinzip schreibt das erste Kommando alle Verteilergruppen Get-DistributionGroup in eine Variable $DG und das zweite Kommando sucht in den gefunden Verteilergruppen $_ nach den Mitgliedern Get-DistributionGroupMember und die Abfrage where -not ist wahr wenn keine Mitglieder gefunden werden. Den Schalter -resultsize unlimited können Sie auch ggf weglassen, dieser nur nötig, wenn sehr viele Elemente aufgelöst werden. Ich weiß jetzt nicht das Maximium aber auf alle Fälle im vierstelligen Bereich.

Updated on 10. Oktober 2022
Was this article helpful?

Related Articles