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...
Please also mark the comments that contributed to the solution of the article
Content-Key: 83067595047
Url: https://administrator.de/contentid/83067595047
Printed on: April 27, 2024 at 12:04 o'clock
9 Comments
Latest comment
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 | ........