Wenn man seit Exchange 2016 über das Exchange Admin Center eine Gruppe anlegt (egal ob Verteiler oder Sicherheit) fügt das System automatisch eine zufällig generierte Nummer am Ende beim Prä-Windows 2000 Gruppenname (aka SamAccountName) an.

gruppe mit nummer

Das kann unter bestimmten Umständen sehr störend sein.

Unseres Wissens nach lässt sich dieses Verhalten nicht beheben.

Also haben wir einen "Workaround" gebaut.

Zum Hintergrund:

man kann bei Exchange eine sogenannte Scripting Engine aktivieren, die automatisch auf den Plan gerufen wird sobald über den IIS (ECP) eine Aktion durchgeführt wird.

Diese Engine ist standardmäßig abgeschaltet.

Die auszuführenden Aktionen sind dann in einer XML-Datei hinterlegt.

Im Ordner %ExchangeInstallPath%Bin\CmdletExtensionAgents sollte sich eine Datei namens ScriptingAgentConfig.xml.sample befinden, die exemplarisch zeigt, was gemacht werden kann.

Der Workaround

Erstellen Sie auf ALLEN Exchange-Servern im genannten Ordner eine Datei "ScriptingAgentConfig.xml" mit folgendem Inhalt:

ScriptingAgentConfig.xml 

<?xml version="1.0" encoding="utf-8" ?>
<Configuration version="1.0">
<Feature Name="CreateDistributionGroup" Cmdlets="New-DistributionGroup">
<ApiCall Name="OnComplete">
if($succeeded) {
$mbx = $provisioningHandler.UserSpecifiedParameters["Alias"]
DO
{
start-sleep 5
$GroupExists = Get-ADGroup -Filter "name -eq '$mbx'"
} Until ($GroupExists -ne $NULL)
Set-DistributionGroup $mbx -SamAccountName $mbx
}
</ApiCall>
</Feature>

</Configuration>

Was tut das Ding?

Wenn das Feature "New-DistributionGroup" aufgerufen und kompletiert wurde (ja - es funktioniert auch bei Sicherheitsgruppen! Haben wir getestet ;-) ) 

und wenn es erfolgreich war

dann wartet es 5 Sekunden (notwendig falls mehrere DCs im Spiel sind)

fragt ab, ob eine entsprechend lautende Gruppe existiert

wenn ja, wird der SamAccountName mit dem Alias der Gruppe gleichgesetzt.

wenn nein, wird weitere 5 Sekunden gewartet

Warum die "DO-Schleife"?

Wenn man mehrere Domaincontroller hat, legt der Exchange-Server die Gruppe am einen DC an, fällt dann aber beim Ändern des SamAccountName möglicherweise auf die Nase, weil er das auf einem anderen DC vornehmen will, der aber die Gruppe noch nicht repliziert hat.

Die Schleife mit der Abfrage verbessert die Chance dass die Replikation "durch" ist.

Gegebenenfalls müssen Sie mit dem "start-sleep" Wert ein wenig variieren.

Scharfschalten

Über das Kommando Enable-CmdletExtensionAgent "Scripting Agent" wird der Scripting Agent aktiviert.

Nach unserer Erfahrung ist kein Neustart des IIS notwendig. Auch eine Änderung des Inhalts der Datei braucht bestenfalls einen Refresh des Bowsers auf dem das EAC gestartet wird.


Danke an Nico Fischer für die Unterstützung beim "Basteln" und Testen dieses Workarounds.