Verteilergruppenliste incl. Mitglieder durch PowerShell auslesen

  • Hallo Zusammen,


    wir versuchen gerade verzweifelt eine Liste aller Verteilergruppen inklusive deren Mitglieder über die Powershell abzufragen.
    Haben schon einige Dinge versucht, die leider nicht funktioniert haben...

    Code
    Get-DistributionGroup


    zeigt korrekt die Gruppen...

    Code
    Get-DistributionGroupMember -Identity


    zeigt korrekt die Mitglieder einer definierten Gruppe
    aber ich bekomm es leider nicht hin eine Liste zu generieren in der mir Verteilergruppe und Mitglieder angezeit werden.
    Auch die Variante über Get-Recipients wie in Technet beschrieben hat nicht funktioniert:

    Code
    $Verteilergruppe = Get-DistributionGroup -Identity "Verteilergruppe"
    Get-Recipient -RecipientPreviewFilter $Verteilgeruppe.RecipientFilter


    Habe auch versucht selbst Befehle über die Piping Funktion zu "basteln"... Das beste Ergebnis habe ich bisher noch mit:

    Code
    Get-DistributionGroup | Get-DistributionGroupMembers -Verbose


    erzielt Aber eigentlich auch nicht verwertbar.


    Habt Ihr hier noch Ansätze?



    Vielen Dank für Eure Hilfe,
    M. Knaus

    • Offizieller Beitrag

    Hallo,


    über die Powershell hab ich das jetzt auch nicht auf die schnelle gefunden.


    Aber mittels LDP:


    Expanding base 'CN=TEST-DG,CN=Users,DC=jmig,DC=mid'...
    Getting 1 entries:
    Dn: CN=TEST-DG,CN=Users,DC=jmig,DC=mid
    cn: TEST-DG;
    displayName: TEST-DG;
    distinguishedName: CN=TEST-DG,CN=Users,DC=jmig,DC=mid;
    dSCorePropagationData: 0x0 = ( );
    groupType: 0x8 = ( UNIVERSAL_GROUP );
    instanceType: 0x4 = ( WRITE );
    internetEncoding: 0;
    legacyExchangeDN: /o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=TEST-DG;
    mail: TEST-DG@jmig.mid;
    mailNickname: TEST-DG;
    member (20): CN=User119,CN=Users,DC=jmig,DC=mid; CN=User118,CN=Users,DC=jmig,DC=mid; CN=User117,CN=Users,DC=jmig,DC=mid; CN=User116,CN=Users,DC=jmig,DC=mid; CN=User115,CN=Users,DC=jmig,DC=mid; CN=User114,CN=Users,DC=jmig,DC=mid; CN=User113,CN=Users,DC=jmig,DC=mid; CN=User112,CN=Users,DC=jmig,DC=mid; CN=User111,CN=Users,DC=jmig,DC=mid; CN=User110,CN=Users,DC=jmig,DC=mid; CN=User109,CN=Users,DC=jmig,DC=mid; CN=User108,CN=Users,DC=jmig,DC=mid; CN=User107,CN=Users,DC=jmig,DC=mid; CN=User106,CN=Users,DC=jmig,DC=mid; CN=User105,CN=Users,DC=jmig,DC=mid; CN=User104,CN=Users,DC=jmig,DC=mid; CN=User103,CN=Users,DC=jmig,DC=mid; CN=User102,CN=Users,DC=jmig,DC=mid; CN=User101,CN=Users,DC=jmig,DC=mid; CN=User100,CN=Users,DC=jmig,DC=mid;
    msExchPoliciesIncluded: {C147FF65-A4F2-4C7E-A688-AB95C15F0D6F},{26491CFC-9E50-4857-861B-0CB8DF22B5D7};
    msExchRecipientDisplayType: 1;
    msExchRequireAuthToSendTo: TRUE;
    msExchVersion: 4535486012416;
    name: TEST-DG;
    objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=jmig,DC=mid;
    objectClass (2): top; group;
    objectGUID: 3b39cc49-1444-461a-8c81-e88e651a8ffb;
    objectSid: S-1-5-21-3072544764-358262736-2274992928-1362;
    proxyAddresses: SMTP:TEST-DG@jmig.mid;
    reportToOriginator: TRUE;
    sAMAccountName: TEST-DG;
    sAMAccountType: 268435457 = ( NON_SECURITY_GROUP_OBJECT );
    showInAddressBook (2): CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=jmig,DC=mid; CN=All Groups,CN=All Address Lists,CN=Address Lists Container,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=jmig,DC=mid;
    uSNChanged: 49397;
    uSNCreated: 49374;
    whenChanged: 09.07.2008 14:06:36 W. Europe Daylight Time;
    whenCreated: 09.07.2008 14:05:32 W. Europe Daylight Time;

    • Offizieller Beitrag

    und jetzt das ganze via Powershell:


    [PS] C:\Windows\System32>Get-DistributionGroupMember test-dg


    Name RecipientType
    ---- -------------
    User100 UserMailbox
    User101 UserMailbox
    User102 UserMailbox
    User103 UserMailbox
    User104 UserMailbox
    User105 UserMailbox
    User106 UserMailbox
    User107 UserMailbox
    User108 UserMailbox
    User109 UserMailbox
    User110 UserMailbox
    User111 UserMailbox
    User112 UserMailbox
    User113 UserMailbox
    User114 UserMailbox
    User115 UserMailbox
    User116 UserMailbox
    User117 UserMailbox
    User118 UserMailbox
    User119 UserMailbox

  • Hallo Jürgen,


    ja, so habe ich es auch bereits versucht. Das Problem das ich dabei hatte war, dass ich bei einer ldifde Anfrage z.b. nur von einigen Gruppen die Mitglieder angezeigt bekam.


    Bei der Mehrzahl wurden mir nur die SSIDs der User ausgegeben. Darum suche ich den Weg über die PowerShell.



    Viele Grüsse
    M.Knaus

  • Das hat sich jetzt Überschnitten :-)... ja der Weg über Get-DistributionGroupMembers -Identity "GroupIdentity" hat bei mir auch schon funktioniert.


    Das Problem ist das ich über diesen Weg nur Exports pro Einzelverteilergruppe machen könnte, also z.B.:

    Code
    Get-DistributionGroupMembers -Identity "GroupIdentity" >c:\Groupidentity.txt


    Somit hätte ich viele Einzelfiles die ich dann von Hand zusammenstellen könnte um eine komplette Gruppen / Memberübersicht zu erstellen.


    Ich suche nach einer kombinierten Möglichkeit, so dass eine Ausgabe z.B. so erfolgt:


    Gruppe1
    Member1
    Member2
    ...


    Gruppe2
    Member1
    Member2
    ...


    Viele Grüsse
    M. Knaus

    • Offizieller Beitrag

    Hallo,


    ganz in dem Format hab ich das auf die schnelle auch nicht gefunden. Aber schau mal hier:


    [PS] C:\Windows\System32>Get-DistributionGroup | Get-DistributionGroupMember


    Name RecipientType
    ---- -------------
    User100 UserMailbox
    User101 UserMailbox
    User102 UserMailbox
    User103 UserMailbox
    User104 UserMailbox
    User105 UserMailbox
    User106 UserMailbox
    User107 UserMailbox
    User108 UserMailbox
    User109 UserMailbox
    User110 UserMailbox
    User111 UserMailbox
    User112 UserMailbox
    User113 UserMailbox
    User114 UserMailbox
    User115 UserMailbox
    User116 UserMailbox
    User117 UserMailbox
    User118 UserMailbox
    User119 UserMailbox
    User150 UserMailbox
    User151 UserMailbox
    User152 UserMailbox
    User153 UserMailbox
    User154 UserMailbox
    User155 UserMailbox
    User156 UserMailbox
    User157 UserMailbox
    User158 UserMailbox
    User159 UserMailbox
    User160 UserMailbox
    User161 UserMailbox
    User162 UserMailbox
    User163 UserMailbox
    User164 UserMailbox
    User165 UserMailbox
    User166 UserMailbox
    User167 UserMailbox
    User168 UserMailbox
    User169 UserMailbox
    User170 UserMailbox
    User171 UserMailbox
    User172 UserMailbox
    User173 UserMailbox
    User174 UserMailbox
    User175 UserMailbox
    User176 UserMailbox
    User177 UserMailbox
    User178 UserMailbox
    User179 UserMailbox


    Wobei hier die User 100-119 in Gruppe 1 und 150 - 179 Mitglieder der Gruppe 2 sind.

  • In der Powershell gibt es Schleifen, wie in einer normalen Programmiersprache. Man muss also erst alle Verteilerliste ermitteln und dann für jede Verteilerliste die Mitglieder auslesen.


    Das ganze könnte dann so aussehen:

  • Hallo,


    Vielen Dank für die Antworten.


    Das Script werd ich noch testen, ich hatte mir inzwischen allerdings etwas umständlicher beholfen, in dem ich über den Get-DistributionGroupMember Befehl jede Gruppe separat exportiert habe und dann später manuell eine Übersicht im Excel erstellt habe.


    Viele Grüsse
    M. Knaus