Missing OAB Template Language ID's cause generation problems.
Under certain circumstances the OAB Generation process can fail when OABGen.dll is able to query the Address-Templates container in the Active Directory, however is unable to read any attribute values from the multi-valued attribute "msExchTemplateRDN's". This active directory attribute contains the language id's that are necessary for building the OAB Template files. If these language id's are missing from this attribute it will cause the OAB Generation process to fail when building the template files. The new check has been added to the templatetest and looks like this:
Starting Test 7 - Addressing Template Language ID Validation Test - Check 3
LDAP has been initialized successfully.
Using ldap port: 389
Global Catalog Server Selected: dc01
Path: LDAP://dc01/CN=Address-Templates,CN=Addressing,CN=microsoft,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=fourthcoffee,DC=com
Binding to the active directory was successful.
Ldap Search Page Size: 64
Scanning for Address-Template Language ID's
Search filter to: (legacyExchangeDN=/o=fourthcoffee/CN=Configuration/CN=Addressing/CN=Address-Templates)
Search attributes: msExchTemplateRDNs
Search started at: 02:27:07 PM
Template Language ID's found!
#0 - Template Language ID's found = 43E
#1 - Template Language ID's found = 420
#2 - Template Language ID's found = 42A
#3 - Template Language ID's found = C04
#4 - Template Language ID's found = 429
#5 - Template Language ID's found = 464
#6 - Template Language ID's found = 456
#7 - Template Language ID's found = 439
#8 - Template Language ID's found = 421
#9 - Template Language ID's found = 40F
#10 - Template Language ID's found = 8411
#11 - Template Language ID's found = 43F
#12 - Template Language ID's found = 427
#13 - Template Language ID's found = 403
#14 - Template Language ID's found = 81A
#15 - Template Language ID's found = 422
#16 - Template Language ID's found = 426
#17 - Template Language ID's found = 425
#18 - Template Language ID's found = 402
#19 - Template Language ID's found = 424
#20 - Template Language ID's found = 41b
#21 - Template Language ID's found = 418
#22 - Template Language ID's found = 41a
#23 - Template Language ID's found = 42d
#24 - Template Language ID's found = 41e
#25 - Template Language ID's found = 40e
#26 - Template Language ID's found = 41f
#27 - Template Language ID's found = 419
#28 - Template Language ID's found = 414
#29 - Template Language ID's found = 406
#30 - Template Language ID's found = 405
#31 - Template Language ID's found = 41d
#32 - Template Language ID's found = 816
#33 - Template Language ID's found = 415
#34 - Template Language ID's found = 408
#35 - Template Language ID's found = 40b
#36 - Template Language ID's found = 413
#37 - Template Language ID's found = 416
#38 - Template Language ID's found = 40d
#39 - Template Language ID's found = 401
#40 - Template Language ID's found = 410
#41 - Template Language ID's found = C0A
#42 - Template Language ID's found = 404
#43 - Template Language ID's found = 804
#44 - Template Language ID's found = 412
#45 - Template Language ID's found = 40c
#46 - Template Language ID's found = 407
#47 - Template Language ID's found = 411
#48 - Template Language ID's found = 409
Search ended at: 02:27:07 PM
Scan Completed
+---------------+
Total Address-Template Language ID's found: 49
Depending on the situation on how these language id's were removed, you should be able to modify the msExchTemplateRDNs attribute on the CN=Address-Templates objects and add all of the language id's back for each of the templates that are found in check 2 of the templatetest. The values should show as followed:
401
402
403
And so on...
For more information on how to fix address-template problems you can refer to my blog: How to fix missing or duplicate Addressing Templates that cause OAB Generation errors.
I have also updated the OABInteg-UserGuide.doc as well. You can download OABInteg from here: https://gotdotnet.com/Community/UserSamples/Download.aspx?SampleGuid=A2338E73-F521-4071-9B1D-AAF49C346ACD
If you have any questions, suggestions or feedback about the OABInteg tool, please contact me at dgoldman@microsoft.com.
Comments
Anonymous
November 24, 2006
How to generate SQM data with Exchange Server 2007 ExBPA Exchange 2007 policies Basement UM setup, partAnonymous
December 06, 2006
Is problem when legacyExchangeDN attribute contains character "@" ? ThanksAnonymous
December 07, 2006
Yes, if you have a '@' in the legacyExchangeDN this can cause a problem if you are on Exchange 2000. If you are on Exchange 2003 this can cause problems called a signature mis-match when the Outlook clients try to apply the diff files. The OABInteg /t:proxytest can detect these.