Liste von Usern ohne Mail-Verteilermitgliedschaft erstellen
Hallo zusammen,
ich erstelle gerade eine neue E-Mail Verteiler Struktur in einem größeren Unternehmen mit >1500 Postfächern. Es ist in der Vergangenheit etwas durcheinandergekommen, wer wie in welchen Verteilern drin ist. Das neue Ziel ist: Jeder User soll in einem Abteilungsverteiler drin sein. Diese Abteilungsverteiler kommen dann in höhere Verteiler für Standorte bzw. Gesellschaften rein. Ich muss also irgendwie sicherstellen, dass nach der Umstellung auf die neuen höheren Verteiler immer noch jeder User erreicht wird. Ich würde den Abteilungsverteilern daher am Anfang den String (AV) in den Namen packen.
Wie kann ich über ein Script erreichen, dass ich folgendes machen kann:
- suche mir für jedes Postfach die Mitgliedschaften an Gruppen heraus
- prüfe, ob es dabei eine Gruppe mit dem String "(AV)" im Namen gibt
- wenn keine Gruppe gefunden, dann gib mir den Usernamen in eine csv-Datei aus
Ich habe leider keine Zeit, das selbst zu scripten, da mir leider das nötige Wissen für komplexere Scripts fehlt und ich leider nicht viel Zeit habe. Sonst würde ich versuchen, mich selbst dareinzufuchsen... also schonmal ein ganz großes Dankeschön für ein fertiges Script! Einige Spezialisten hier müssten das ja schnell zusammenbekommen...
ich erstelle gerade eine neue E-Mail Verteiler Struktur in einem größeren Unternehmen mit >1500 Postfächern. Es ist in der Vergangenheit etwas durcheinandergekommen, wer wie in welchen Verteilern drin ist. Das neue Ziel ist: Jeder User soll in einem Abteilungsverteiler drin sein. Diese Abteilungsverteiler kommen dann in höhere Verteiler für Standorte bzw. Gesellschaften rein. Ich muss also irgendwie sicherstellen, dass nach der Umstellung auf die neuen höheren Verteiler immer noch jeder User erreicht wird. Ich würde den Abteilungsverteilern daher am Anfang den String (AV) in den Namen packen.
Wie kann ich über ein Script erreichen, dass ich folgendes machen kann:
- suche mir für jedes Postfach die Mitgliedschaften an Gruppen heraus
- prüfe, ob es dabei eine Gruppe mit dem String "(AV)" im Namen gibt
- wenn keine Gruppe gefunden, dann gib mir den Usernamen in eine csv-Datei aus
Ich habe leider keine Zeit, das selbst zu scripten, da mir leider das nötige Wissen für komplexere Scripts fehlt und ich leider nicht viel Zeit habe. Sonst würde ich versuchen, mich selbst dareinzufuchsen... also schonmal ein ganz großes Dankeschön für ein fertiges Script! Einige Spezialisten hier müssten das ja schnell zusammenbekommen...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 83067595047
Url: https://administrator.de/contentid/83067595047
Ausgedruckt am: 25.11.2024 um 02:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo
🖖
Gruß Katrin
Get-Mailbox -RecipientTypeDetails Usermailbox -ResultSize unlimited | ?{!((Get-ADPrincipalGroupMembership $_.DistinguishedName).Name -like '*(AV)*')} | select Name,SamAccountName,PrimarySMTPAddress | export-csv .\users_without_membership.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8
Gruß Katrin
Zitat von @Gwaihir:
Ich überlege gerade, ob es besser ist, den String (AV) in ein anderes Feld innerhalb des Verteilers zu verstecken.
Dann überleg mal...Ich überlege gerade, ob es besser ist, den String (AV) in ein anderes Feld innerhalb des Verteilers zu verstecken.
Dann tausche ich doch einfach "Name" gegen "Description" aus, richtig?
Nein. Musst du dann zusätzlich mit Get-ADGroup die Details der Gruppe abfragen.Script bricht gerade ab:
Fixe deinen Server.Fertig überlegt, Description ist mir lieber. Wie muss ich dann Get-ADGroup reinbauen?
Get-Mailbox -RecipientTypeDetails Usermailbox -ResultSize unlimited | ?{!(Get-ADPrincipalGroupMembership $_.DistinguishedName | ?{(Get-ADGroup $_.DistinguishedName -Properties Description).Description -like '*(AV)*'})} | select Name,SamAccountName,PrimarySMTPAddress | export-csv .\users_without_membership.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8
Eine letzte Anpassung bräuchte ich noch...
Na mal sehen, wers glaubt ... 🤞kann ich am Anfang bei Get-Mailbox irgendwo einen Filter setzen, dass er Mailboxen mit einem "/" im Namen ausschließt?
Get-Mailbox -Filter "Name -notlike '*/*'" -RecipientTypeDetails Usermailbox -ResultSize unlimited | ........