solisto99 0 Geschrieben 24. Mai 2022 Melden Teilen Geschrieben 24. Mai 2022 (bearbeitet) Wir arbeiten auf unserem internen Exchange-Server in der Administration mit dynamischen Verteilergruppen (Group type "Dynamic Distribution Group", z.B. dyn_verteiler1@firma.com). Unsere User benötigen im Exchange aber "normale" Verteilergruppen (Group type "Security Group"), daher müssen wir einen Weg finden, die Members aus der dynamischen Verteilergruppe verteiler1@firma.com mit einem statischen Verteiler verteiler1@firma.com zu synchronisieren. Diese Synchronisation soll alle zB 30min stattfinden und soll neue hinzufügen und User die nicht mehr im dyn. Verteiler sind natürlich entfernen. Habt ihr da bitte Ansätze, ob und wie so etwas funktionieren kann? Wie könnte so ein PowerShell aufgebaut sein? bearbeitet 24. Mai 2022 von solisto99 Zitieren Link zu diesem Kommentar
testperson 1.713 Geschrieben 24. Mai 2022 Melden Teilen Geschrieben 24. Mai 2022 (bearbeitet) Hi, die erste Frage wäre, warum benötigen die User "normale Verteilergruppen"? Ansonsten wäre ein Ansatz hier (View members of a dynamic distribution group | Microsoft Docs) zu finden und mit ein bisschen Logik zu verknüpfen. Mit Get-ADGroupMember / Get-DistributionGroupMember (Get-ADGroupMember (ActiveDirectory) | Microsoft Docs / Get-DistributionGroupMember (ExchangePowerShell) | Microsoft Docs) die User aus der statischen Gruppe holen Vergleichen, wer nicht mehr im Recipientfilter ist, und aus der Gruppe entfernen (Remove-ADGroupMember (ActiveDirectory) | Microsoft Docs / Remove-DistributionGroupMember (ExchangePowerShell) | Microsoft Docs) Die User, auf die der Recipientfilter zutrifft, zur Gruppe hinzufügen (Add-ADGroupMember (ActiveDirectory) | Microsoft Docs / Add-DistributionGroupMember (ExchangePowerShell) | Microsoft Docs) Es gibt bestimmt auch noch andere / weitere kreative Ideen. Gruß Jan bearbeitet 24. Mai 2022 von testperson Zitieren Link zu diesem Kommentar
winmadness 79 Geschrieben 24. Mai 2022 Melden Teilen Geschrieben 24. Mai 2022 Eine Synchronisation ist immer fehleranfällig und außerdem werden Daten unnötigerweise redundant vorgehalten. Wäre es eine Möglichkeit einen normalen Kontakt / Security Group anzulegen und diese weiterzuleiten auf die dynamische Gruppe? Zitieren Link zu diesem Kommentar
cj_berlin 1.329 Geschrieben 24. Mai 2022 Melden Teilen Geschrieben 24. Mai 2022 Moin, wie die Vorredner schon angedeutet haben: Einfach eine normale Mail-Enabled Security Group nach einer gewissen Vorschrift mit Mitgliedern bestücken. Alles, was ein Recipient Filter einer DDG abbilden kann, kannst Du auch mit PowerShell abbilden. Aber zwei Exchange-Empfänger für das gleiche haben ergibt in der Regel nicht so viel Sinn. Zitieren Link zu diesem Kommentar
solisto99 0 Geschrieben 27. Mai 2022 Autor Melden Teilen Geschrieben 27. Mai 2022 Am 24.5.2022 um 15:30 schrieb cj_berlin: Moin, wie die Vorredner schon angedeutet haben: Einfach eine normale Mail-Enabled Security Group nach einer gewissen Vorschrift mit Mitgliedern bestücken. Alles, was ein Recipient Filter einer DDG abbilden kann, kannst Du auch mit PowerShell abbilden. Aber zwei Exchange-Empfänger für das gleiche haben ergibt in der Regel nicht so viel Sinn. Servus nach Berlin! Hintergrund meiner Anfrage ist, dass wir die Gruppen dynamisch aufbauen (möchten), diese dynamischen Gruppen jedoch leider *nicht* für die Vergabe von Mailboxberechtigungen für z.B. Shared Mailboxes herangezogen werden dürfen. Daher war die erste Idee, die dynamischen Gruppen in statische zu synchronisieren. Dein Ansatz, statische Gruppen via PS-Script direkt zu erstellen ist wahrscheinlich einfacher, aber auch hier gilt -> wenn man weiß wie Ein Membership-Filter einer dyn. Gruppe sieht zB so aus "Only the follwoing recipient types:" -> "Users with Exchange mailboxes" Weiters "Recipient container" -> eine OU im AD "Department" -> 'Marketing' or 'Sales' Offen ist dann noch, was passiert wenn ein User dem Filter nicht mehr entspricht - wie fliegt der per Script dann wieder aus dem Verteiler? Am 24.5.2022 um 13:12 schrieb testperson: Hi, die erste Frage wäre, warum benötigen die User "normale Verteilergruppen"?... Dynamischen Gruppen können leider nicht für die Vergabe von Mailboxberechtigungen für z.B. Shared Mailboxes herangezogen werden. Zitieren Link zu diesem Kommentar
testperson 1.713 Geschrieben 27. Mai 2022 Melden Teilen Geschrieben 27. Mai 2022 Hi, vor 59 Minuten schrieb solisto99: Dynamischen Gruppen können leider nicht für die Vergabe von Mailboxberechtigungen für z.B. Shared Mailboxes herangezogen werden. dann würde ich das trennen und nicht an "gespiegelte Gruppen" koppeln. Früher oder später wird der Fall kommen, da sollen dann mehr/weniger Leute Zugriff bekommen und es müssen wilde Ausnahmen gescripted werden. Gruß Jan Zitieren Link zu diesem Kommentar
solisto99 0 Geschrieben 3. Juni 2022 Autor Melden Teilen Geschrieben 3. Juni 2022 Hallo, danke für euren Input - ich habs gelöst und es ist sogar recht performant. Gerne teile ich den Lösungsansatz mit euch: 1) Da alle Dyn. Distr. Groups (DDG) in nur einer bestimmten OU zu Security Groups (SG) führen sollen, werden diese Gruppen in ein CSV ausgelesen: Get-DynamicDistributionGroup -OrganizationalUnit <OU> -ResultSize <Unlimited oder Anzahl> | Select-Object DisplayName,Alias | Sort-Object DisplayName | Export-CSV $env:TEMP\DDG-to-SG.csv -NoTypeInformation -Encoding UTF8 2) Danach wird diese CSV-Liste an DDGs abgearbeitet, es werden dabei auch neue SGs - in diesem Fall mit einem Prefix - erzeugt und die bestehenden aktualisiert, damit bleiben die Berechtigungen der SG erhalten. Bei der Neuanlage einer SG muss man natürlich seine eigenen Parameter verwenden. Import-Csv $env:TEMP\DDG-to-SG.csv | ForEach-Object { $SecGroupDisplayName = -join("PREFIX-SG_", $($_.DisplayName)) $SecGroupAlias = -join("PREFIX-SG_", $($_.Alias)) if (Get-DistributionGroup -Identity $SecGroupAlias) { Write-Host -ForegroundColor Green "+++ Verteilerliste $SecGroupAlias ist bereits vorhanden, Synchronisation startet... +++" } else { Write-Host -ForegroundColor Red "+++ Verteilerliste $SecGroupAlias wird neu angelegt..." New-DistributionGroup -Name $SecGroupDisplayName -Alias $SecGroupAlias -Type 'Security' -OrganizationalUnit <OU> -ManagedBy <Username fürs Mgmnt> $PrimSmtpAdr = -join($SecGroupAlias, "<Domain der primären E-Mail-Adr>") Set-DistributionGroup $SecGroupAlias -HiddenFromAddressListsEnabled $true -EmailAddressPolicyEnabled $false -PrimarySmtpAddress $PrimSmtpAdr -BypassSecurityGroupManagerCheck Write-Host -ForegroundColor Red "+++ Sicherheitsgruppe $SecGroupAlias neu angelegt, Synchronisation startet..." } $FTE = Get-DynamicDistributionGroup $($_.Alias) $DynMembers = (Get-Recipient -RecipientPreviewFilter $FTE.RecipientFilter -OrganizationalUnit $FTE.RecipientContainer).Alias | where {$_ -ne ""} Update-DistributionGroupMember -Identity $SecGroupAlias -Members $DynMembers -Confirm:$false -BypassSecurityGroupManagerCheck Write-Host -ForegroundColor Yellow "Der dynamische Verteiler '$($_.DisplayName)' wurde in die Sicherheitsgruppe $SecGroupDisplayName synchronisiert." } Mit dieser Lösung genießt man den administrativen Komfort eine DDG und den Nutzen eine SG, das Skript muss dann natürlich regelmäßig anwenden. Alles natürlich ohne Gewähr Freu mich über euer Feedback! Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.