Januar 4, 2025

Receive connectors einheitlich konfigurieren (RemoteIPRanges)

Wenn man mehrere Exchange Server betreibt und aus Lastverteilungsgründen einen oder mehrere Receive connectors auf den Servern bereitstellt, ist es manchmal gar nicht so leicht, diese tatsächlich einheitlich zu konfigurieren. Ich treffe häufig auf ellenlange Listen von IP Adressen, die über den Connector senden dürfen und es macht keinen Spaß, diese manuell abzugleichen.

Das Thema ist quasi ein alter Hut und entsprechende Blog-Artikel sind meistens ebenso angestaubt – aber immer noch relevant. Z.B. dieser hier von einem meiner früheren Exchange-Helden Paul Cunningham: https://practical365.com/how-to-add-remote-ip-addresses-to-existing-receive-connectors

Hat man eine Liste von IP-Adressen, die überall hinzugefügt werden sollen, ist man mit diesem Ansatz schon recht gut bedient. Wenn das Kind aber schon im Brunnen liegt und die Konnektoren auf den Servern durcheinander sind, dann wäre eine Lösung zu Abgleich ideal. Aufbauend auf dem Prinzip von Paul habe ich mal ein Skript erstellt und dort ein wenig Logik hinzugefügt.

Im Ergebnis wird man zunächst nach dem Quell-Konnektor gefragt, dann nach dem Ziel-Konnektor.

Anschließend schaut das Skript, ob alle Einträge der Quelle auch im Ziel vorhanden sind und fügt diese ggf. hinzu.

Eigentlich sehr einfach 🙂

Hat man einen sehr unordentlichen Ausgangszustand, lässt man es einfach mit wechselnden Quell- und Ziel-Konnektor öfter laufen – solange, bis das Skript nichts mehr zu ändern hat.

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn

$src=Get-ReceiveConnector | ogv -PassThru -Title "Select the source connector"
$dest=Get-ReceiveConnector | ogv -PassThru -Title "Select the destination connector"

$src_rc= Get-ReceiveConnector $src | select remoteipranges
$dest_rc = Get-ReceiveConnector $dest | select remoteipranges

$destid=[string]$($dest.identity)

$src_rc.RemoteIPRanges | %{
    if($dest_rc.RemoteIPRanges -notcontains $_){
        "Not in [$destid] yet: [$_] - adding..."
        $dest_rc.RemoteIPRanges += "$_"
        Set-ReceiveConnector $dest -RemoteIPRanges $dest_rc.RemoteIPRanges
    }
}
0 0 votes
Article Rating
Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x