Here's how to migrate Exchange 2007's Receive Connectors from one server to another.
I tried fooling around with New-ReceiveConnector's "-TemplateInstance" parameter to import all of the settings from an old RC but couldn't get it to work the way the documentation says it should. Basically I tried this:
$oldServer = '<Old Exchange 2007 Server>'
$newServer = '<New Exchange 2007 Server>'
ForEach ($connector in (get-ReceiveConnector -server $oldServer)) {
New-ReceiveConnector `
-Name $Connector.Name `
-Bindings $Connector.Bindings `
-TemplateInstance $connector
}
Since the above method wouldn't work for me, I had to type it all out. *pout*
If anyone knows of a better or simpler method, I'm all ears.
$oldServer = '<Old Exchange 2007 Server>'
$newServer = '<New Exchange 2007 Server>'
ForEach ($connector in (get-ReceiveConnector -server $oldServer)) {
New-ReceiveConnector `
-Name $Connector.Name `
-Bindings $Connector.Bindings `
-RemoteIPRanges $Connector.RemoteIPRanges `
-AuthMechanism $Connector.AuthMechanism `
-Banner $Connector.Banner `
-BinaryMimeEnabled $Connector.BinaryMimeEnabled `
-ChunkingEnabled $Connector.ChunkingEnabled `
-Comment $Connector.Comment `
-ConnectionInactivityTimeout $Connector.ConnectionInactivityTimeout `
-ConnectionTimeout $Connector.ConnectionTimeout `
-DefaultDomain $Connector.DefaultDomain `
-DeliveryStatusNotificationEnabled $Connector.DeliveryStatusNotificationEnabled `
-DomainController $Connector.DomainController `
-DomainSecureEnabled $Connector.DomainSecureEnabled `
-EightBitMimeEnabled $Connector.EightBitMimeEnabled `
-EnableAuthGSSAPI $Connector.EnableAuthGSSAPI `
-Enabled $Connector.Enabled `
-EnhancedStatusCodesEnabled $Connector.EnhancedStatusCodesEnabled `
-Fqdn ($Connector.Fqdn.ToString()).Replace($oldServer,$newServer) `
-LongAddressesEnabled $Connector.LongAddressesEnabled `
-MaxHeaderSize $Connector.MaxHeaderSize `
-MaxHopCount $Connector.MaxHopCount `
-MaxInboundConnection $Connector.MaxInboundConnection `
-MaxInboundConnectionPercentagePerSource $Connector.MaxInboundConnectionPercentagePerSource `
-MaxInboundConnectionPerSource $Connector.MaxInboundConnectionPerSource `
-MaxLocalHopCount $Connector.MaxLocalHopCount `
-MaxLogonFailures $Connector.MaxLogonFailures `
-MaxMessageSize $Connector.MaxMessageSize `
-MaxProtocolErrors $Connector.MaxProtocolErrors `
-MaxRecipientsPerMessage $Connector.MaxRecipientsPerMessage `
-MessageRateLimit $Connector.MessageRateLimit `
-OrarEnabled $Connector.OrarEnabled `
-PermissionGroups ([Microsoft.Exchange.Data.PermissionGroups]($Connector.PermissionGroups.ToString().Replace('Custom','').Replace(', ,',', ').TrimStart(', ').TrimEnd(', '))) `
-PipeliningEnabled $Connector.PipeliningEnabled `
-ProtocolLoggingLevel $Connector.ProtocolLoggingLevel `
-RequireEHLODomain $Connector.RequireEHLODomain `
-RequireTLS $Connector.RequireTLS `
-SizeEnabled $Connector.SizeEnabled `
-TarpitInterval $Connector.TarpitInterval
}