Below I'm going to address a bug that exists from Exchange 2007 RTM to Exchange 2010 SP1 (as of this writing). Sometimes when you install Exchange 2010 in a new environment your routing group connector does not get created - colleagues of mine have seen this before.
This happens even when when you specify an Exchange 2003 server in the dialog box below during the Exchange 2010 setup wizard.
When it doesn't get created during the installation if you dig down through your system logs in event viewer you will notice event 1002 from the MSExchangeSetup. See below, pay attention to the bold text.
Log Name: Application
Source: MSExchangeSetup
Date: 27/09/2011 2:28:20 PM
Event ID: 1002
Task Category: Microsoft Exchange Setup
Level: Error
Keywords: Classic
User: N/A
Computer: exchange.domain.local
Description:
Exchange Server component Hub Transport Role failed.
Error: Error:
The following error was generated when "$error.Clear();
if ($roleLegacyRoutingServer -ne $null)
{
$lrs =
$roleLegacyRoutingServer;
$source = [String][System.Environment]::MachineName;
if ($lrs.Length -gt 31)
{
$lrs = $lrs.Substring(0, 31)
};
if ($source.Length -gt 31)
{
$source = $source.Substring(0, 31)
};
$name = $source + "-" + $lrs;
$result = (get-
routinggroupconnector where {$_.Name -eq $name});
if ($result -eq $null)
{
new-
RoutingGroupConnector -SourceTransportServers:$source -TargetTransportServers:$roleLegacyRoutingServer -Cost:1 -Name:$name -Bidirectional:
$false
};
$name = $lrs + "-" + $source;
$result = (get-routinggroupconnector where {$_.Name -eq
$name});
if ($result -eq $null)
{
new-RoutingGroupConnector -SourceTransportServers:
$roleLegacyRoutingServer -TargetTransportServers:$source -Cost:1 -Name:$name -Bidirectional:$false
};
};
" was
run: "Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130e2 (msExchTargetBridgeheadServersDN)
".
Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130e2 (msExchTargetBridgeheadServersDN)
A value in the request is invalid.
Error:
The following error was generated when "$error.Clear();
if ($roleLegacyRoutingServer -ne $null)
{
$lrs =
$roleLegacyRoutingServer;
$source = [String][System.Environment]::MachineName;
if ($lrs.Length -gt 31)
{
$lrs = $lrs.Substring(0, 31)
};
if ($source.Length -gt 31)
{
$source = $source.Substring(0, 31)
};
$name = $source + "-" + $lrs;
$result = (get-
routinggroupconnector where {$_.Name -eq $name});
if ($result -eq $null)
{
new-
RoutingGroupConnector -SourceTransportServers:$source -TargetTransportServers:$roleLegacyRoutingServer -Cost:1 -Name:$name -Bidirectional:
$false
};
$name = $lrs + "-" + $source;
$result = (get-routinggroupconnector where {$_.Name -eq
$name});
if ($result -eq $null)
{
new-RoutingGroupConnector -SourceTransportServers:
$roleLegacyRoutingServer -TargetTransportServers:$source -Cost:1 -Name:$name -Bidirectional:$false
};
};
" was
run: "Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130df (msExchSourceBridgeheadServersDN)
".
Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130df (msExchSourceBridgeheadServersDN)
A value in the request is invalid.
The following error was generated when "$error.Clear();
if ($roleLegacyRoutingServer -ne $null)
{
$lrs =
$roleLegacyRoutingServer;
$source = [String][System.Environment]::MachineName;
if ($lrs.Length -gt 31)
{
$lrs = $lrs.Substring(0, 31)
};
if ($source.Length -gt 31)
{
$source = $source.Substring(0, 31)
};
$name = $source + "-" + $lrs;
$result = (get-
routinggroupconnector where {$_.Name -eq $name});
if ($result -eq $null)
{
new-
RoutingGroupConnector -SourceTransportServers:$source -TargetTransportServers:$roleLegacyRoutingServer -Cost:1 -Name:$name -Bidirectional:
$false
};
$name = $lrs + "-" + $source;
$result = (get-routinggroupconnector where {$_.Name -eq
$name});
if ($result -eq $null)
{
new-RoutingGroupConnector -SourceTransportServers:
$roleLegacyRoutingServer -TargetTransportServers:$source -Cost:1 -Name:$name -Bidirectional:$false
};
};
" was
run: "Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130e2 (msExchTargetBridgeheadServersDN)
".
Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130e2 (msExchTargetBridgeheadServersDN)
A value in the request is invalid.
Error:
The following error was generated when "$error.Clear();
if ($roleLegacyRoutingServer -ne $null)
{
$lrs =
$roleLegacyRoutingServer;
$source = [String][System.Environment]::MachineName;
if ($lrs.Length -gt 31)
{
$lrs = $lrs.Substring(0, 31)
};
if ($source.Length -gt 31)
{
$source = $source.Substring(0, 31)
};
$name = $source + "-" + $lrs;
$result = (get-
routinggroupconnector where {$_.Name -eq $name});
if ($result -eq $null)
{
new-
RoutingGroupConnector -SourceTransportServers:$source -TargetTransportServers:$roleLegacyRoutingServer -Cost:1 -Name:$name -Bidirectional:
$false
};
$name = $lrs + "-" + $source;
$result = (get-routinggroupconnector where {$_.Name -eq
$name});
if ($result -eq $null)
{
new-RoutingGroupConnector -SourceTransportServers:
$roleLegacyRoutingServer -TargetTransportServers:$source -Cost:1 -Name:$name -Bidirectional:$false
};
};
" was
run: "Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130df (msExchSourceBridgeheadServersDN)
".
Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130df (msExchSourceBridgeheadServersDN)
A value in the request is invalid.
Now what is this bug?
The New-RoutingGroupConnector command will only connect to SMTP Virtual Servers that have a common name value of 1. What do I mean by this? In the Exchange 2010 source code the Exchange 2010 product team coded this powershell command to query:
"CN=1,CN=SMTP,CN=Protocols,CN=MERCURY,CN=Servers,CN=SHENTON PARK,CN=Administrative Groups,CN=EXORG,CN=Microsoft,Exchange,CN=Services,CN=Configuration,DC=YOURDOMAIN,DC=COM"
What is this object? This is your SMTP virtual server your administrators see in Exchange 2003 system manager. Any configuration changes made to this virtual server get updated on this Active Directory object in the configuration partition.
If an administrator creates new SMTP virutal servers then deletes the first SMTP virtual server that had a CN value of 1 the issue occurs. For example if I open ADSIEdit in my environment with the problem and navigate to the following location:
Configuration\services\Microsoft Exchange\Org Name\Administrative Groups\Exchange 2003 AG name\Servers\Exchange 2003 servername\Protocol\SMTP
I see that my CN is a value of 3.
To resolve this I performed the following steps:
1. Renamed CN=3 to CN=1 in ADSIEdit by right clicking the object.
2. Force replication to whichever DC your Exchange 2003 server is communicating to. You can find this out by running "nltest /dsgetdc:domain.local" on your Exchange 2003 server provided you have the 2003 support tools installed.
3. Restart the Simple Mail Transfer Service on your Exchange 2003 server - VERY IMPORTANT.
Note: If you manually try and use the New-RoutingGroupConnector in Exchange 2007/2010 shell after the installation is complete, it will also unless you correct the CN= value for your SMTP Virtual Server.
This happens even when when you specify an Exchange 2003 server in the dialog box below during the Exchange 2010 setup wizard.
When it doesn't get created during the installation if you dig down through your system logs in event viewer you will notice event 1002 from the MSExchangeSetup. See below, pay attention to the bold text.
Log Name: Application
Source: MSExchangeSetup
Date: 27/09/2011 2:28:20 PM
Event ID: 1002
Task Category: Microsoft Exchange Setup
Level: Error
Keywords: Classic
User: N/A
Computer: exchange.domain.local
Description:
Exchange Server component Hub Transport Role failed.
Error: Error:
The following error was generated when "$error.Clear();
if ($roleLegacyRoutingServer -ne $null)
{
$lrs =
$roleLegacyRoutingServer;
$source = [String][System.Environment]::MachineName;
if ($lrs.Length -gt 31)
{
$lrs = $lrs.Substring(0, 31)
};
if ($source.Length -gt 31)
{
$source = $source.Substring(0, 31)
};
$name = $source + "-" + $lrs;
$result = (get-
routinggroupconnector where {$_.Name -eq $name});
if ($result -eq $null)
{
new-
RoutingGroupConnector -SourceTransportServers:$source -TargetTransportServers:$roleLegacyRoutingServer -Cost:1 -Name:$name -Bidirectional:
$false
};
$name = $lrs + "-" + $source;
$result = (get-routinggroupconnector where {$_.Name -eq
$name});
if ($result -eq $null)
{
new-RoutingGroupConnector -SourceTransportServers:
$roleLegacyRoutingServer -TargetTransportServers:$source -Cost:1 -Name:$name -Bidirectional:$false
};
};
" was
run: "Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130e2 (msExchTargetBridgeheadServersDN)
".
Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130e2 (msExchTargetBridgeheadServersDN)
A value in the request is invalid.
Error:
The following error was generated when "$error.Clear();
if ($roleLegacyRoutingServer -ne $null)
{
$lrs =
$roleLegacyRoutingServer;
$source = [String][System.Environment]::MachineName;
if ($lrs.Length -gt 31)
{
$lrs = $lrs.Substring(0, 31)
};
if ($source.Length -gt 31)
{
$source = $source.Substring(0, 31)
};
$name = $source + "-" + $lrs;
$result = (get-
routinggroupconnector where {$_.Name -eq $name});
if ($result -eq $null)
{
new-
RoutingGroupConnector -SourceTransportServers:$source -TargetTransportServers:$roleLegacyRoutingServer -Cost:1 -Name:$name -Bidirectional:
$false
};
$name = $lrs + "-" + $source;
$result = (get-routinggroupconnector where {$_.Name -eq
$name});
if ($result -eq $null)
{
new-RoutingGroupConnector -SourceTransportServers:
$roleLegacyRoutingServer -TargetTransportServers:$source -Cost:1 -Name:$name -Bidirectional:$false
};
};
" was
run: "Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130df (msExchSourceBridgeheadServersDN)
".
Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130df (msExchSourceBridgeheadServersDN)
A value in the request is invalid.
The following error was generated when "$error.Clear();
if ($roleLegacyRoutingServer -ne $null)
{
$lrs =
$roleLegacyRoutingServer;
$source = [String][System.Environment]::MachineName;
if ($lrs.Length -gt 31)
{
$lrs = $lrs.Substring(0, 31)
};
if ($source.Length -gt 31)
{
$source = $source.Substring(0, 31)
};
$name = $source + "-" + $lrs;
$result = (get-
routinggroupconnector where {$_.Name -eq $name});
if ($result -eq $null)
{
new-
RoutingGroupConnector -SourceTransportServers:$source -TargetTransportServers:$roleLegacyRoutingServer -Cost:1 -Name:$name -Bidirectional:
$false
};
$name = $lrs + "-" + $source;
$result = (get-routinggroupconnector where {$_.Name -eq
$name});
if ($result -eq $null)
{
new-RoutingGroupConnector -SourceTransportServers:
$roleLegacyRoutingServer -TargetTransportServers:$source -Cost:1 -Name:$name -Bidirectional:$false
};
};
" was
run: "Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130e2 (msExchTargetBridgeheadServersDN)
".
Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130e2 (msExchTargetBridgeheadServersDN)
A value in the request is invalid.
Error:
The following error was generated when "$error.Clear();
if ($roleLegacyRoutingServer -ne $null)
{
$lrs =
$roleLegacyRoutingServer;
$source = [String][System.Environment]::MachineName;
if ($lrs.Length -gt 31)
{
$lrs = $lrs.Substring(0, 31)
};
if ($source.Length -gt 31)
{
$source = $source.Substring(0, 31)
};
$name = $source + "-" + $lrs;
$result = (get-
routinggroupconnector where {$_.Name -eq $name});
if ($result -eq $null)
{
new-
RoutingGroupConnector -SourceTransportServers:$source -TargetTransportServers:$roleLegacyRoutingServer -Cost:1 -Name:$name -Bidirectional:
$false
};
$name = $lrs + "-" + $source;
$result = (get-routinggroupconnector where {$_.Name -eq
$name});
if ($result -eq $null)
{
new-RoutingGroupConnector -SourceTransportServers:
$roleLegacyRoutingServer -TargetTransportServers:$source -Cost:1 -Name:$name -Bidirectional:$false
};
};
" was
run: "Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130df (msExchSourceBridgeheadServersDN)
".
Active Directory operation failed on dc.domain.local. This error is not retriable. Additional information: The name reference is invalid.
This may be caused by replication latency between Active Directory domain controllers.
Active directory response: 000020B5: AtrErr: DSID-03152395, #1:
0: 000020B5: DSID-03152395, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att
179130df (msExchSourceBridgeheadServersDN)
A value in the request is invalid.
Now what is this bug?
The New-RoutingGroupConnector command will only connect to SMTP Virtual Servers that have a common name value of 1. What do I mean by this? In the Exchange 2010 source code the Exchange 2010 product team coded this powershell command to query:
"CN=1,CN=SMTP,CN=Protocols,CN=MERCURY,CN=Servers,CN=SHENTON PARK,CN=Administrative Groups,CN=EXORG,CN=Microsoft,Exchange,CN=Services,CN=Configuration,DC=YOURDOMAIN,DC=COM"
What is this object? This is your SMTP virtual server your administrators see in Exchange 2003 system manager. Any configuration changes made to this virtual server get updated on this Active Directory object in the configuration partition.
If an administrator creates new SMTP virutal servers then deletes the first SMTP virtual server that had a CN value of 1 the issue occurs. For example if I open ADSIEdit in my environment with the problem and navigate to the following location:
Configuration\services\Microsoft Exchange\Org Name\Administrative Groups\Exchange 2003 AG name\Servers\Exchange 2003 servername\Protocol\SMTP
I see that my CN is a value of 3.
To resolve this I performed the following steps:
1. Renamed CN=3 to CN=1 in ADSIEdit by right clicking the object.
2. Force replication to whichever DC your Exchange 2003 server is communicating to. You can find this out by running "nltest /dsgetdc:domain.local" on your Exchange 2003 server provided you have the 2003 support tools installed.
3. Restart the Simple Mail Transfer Service on your Exchange 2003 server - VERY IMPORTANT.
Note: If you manually try and use the New-RoutingGroupConnector in Exchange 2007/2010 shell after the installation is complete, it will also unless you correct the CN= value for your SMTP Virtual Server.