Exchange 2003 Relay-IPs ermitteln und in Exchange 2010 Receive Connector importieren

Mit einem kleinen Script kann man die IPs oder IP Ranges des SMTP Dienstes vom Exchange 2003 auslesen und direkt in einen entsprechenden Receive Connector auf Exchange 2010 importieren.

Vor Verwendung des Scripts bitte an die eigene Umgebung anpassen und testen!

Dim objSMTP,objRelayIpList,objCurrentList,objIP
Dim objFSO,objTextFile,count,newIpList(),inputOption,IPTxtPath
Set objSMTP = GetObject("IIS://localhost/smtpsvc/1")
Set objRelayIpList = objSMTP.Get("RelayIpList")
'***objRelayIpList is of type IIsIPSecuritySetting 
'***http://msdn.microsoft.com/en-us/library/ms525725.aspx
if objRelayIpList.GrantByDefault = TRUE then
  objCurrentList = objRelayIPList.IPDeny
else
 objCurrentList = objRelayIPList.IPGrant
end if 
Set objRelay = GetObject("LDAP://CN=Relay Connector,CN=SMTP Receive Connectors," _
                           "CN=Protocols,CN=yourServer,CN=Servers," _
                           "CN=Exchange Administrative Group (FYDIBOHF23SPDLT)," _ 
                           "CN=Administrative Groups,CN=YourOrg,CN=Microsoft Exchange," _
                           "CN=Services,CN=Configuration,DC=YourDomain,DC=YourDomain,DC=net")
For each ip in objCurrentList
 aIP = split(ip,",")
 if aIP(1)=" 255.255.255.255" then '*** einzelne IP Adresse/Host
 cIP=trim(aIP(0))
 else
 cIP = trim(aIP(0)) & "(" & trim(aIP(1)) & ")" '*** sonst Subnetz
 end if
 '*** Debug Info: msgbox IP & vbCRLF & cIP
 objRelay.PutEx 3, "msExchSmtpReceiveRemoteIPRanges", array(cIP)
 objRelay.SetInfo
next

Exchange 2010 Relay für Anonyme Sender/Empfänger einrichten

Damit der durch die GUI angelegte Receive Connector auch wirklich nach extern relay macht, muss ein Recht „Accept any recipient“ am Connector hinzugefügt werden. Das geht nicht mittels GUI, sondern entweder mit ADSIEdit.msc (u.a. siehe hier: „Exchange 2007 Receive Connector Authentication“ ) oder  mit dem Powershellbefehl:

Get-ReceiveConnector „Anonymous Relay“ | Add-ADPermission -User „NT AUTHORITY\ANONYMOUS LOGON“ -ExtendedRights „Ms-Exch-SMTP-Accept-Any-Recipient“

Update: 2012.06.28: Oder in den Sicherheitseinstellungen des Anonymous-Relay-Receive-Connectors den Punkt „Submit Messages to any Recipients“ auf Allow setzen.

Update: 2012.09.28: in Deutsch:  „NT-AUTORITÄT\ANONYMOUS-ANMELDUNG“