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.