by Michael S. Kaplan, published on 2007/03/23 08:32 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2007/03/23/1937085.aspx
So Ben asked me via the contact link:
Hey Michael,
Great Blog you've got going here. A colleague of mine at work introduced me and I thought i'd ask you a question which has been plaguing me for a while.
I want to change the Display Name for my users within the display specifiers in my AD (Server 2003). I want English Australia to display as "Surname, GivenName".
The problem I face is, I can't seem to find the correct container for English Australia. The only one which comes close is CN=409, but thats for English US.
Do you what the correct container is for English Australia and how I get it to populate in my AD?
Thanks
Ben
I don't actually control an Active Directory to test this on, but I'll say what I know of from reading some docs, and then maybe ask a few others to correct my understanding if it is not right. :-)
Active Directory is limited in the locales you can specify to the legal Windows locales on the machine. As the DisplaySpecifiers Container topic states:
The Configuration container stores the DisplaySpecifiers container, which then stores containers that correspond to each locale. These locale containers are named using the hexadecimal representation of the locale identifier. For example, the US/English locale container is named 409, the German locale's container is named 407, and the Japanese locale's container is named 411.
There is also a C++ code sample in that topic that binds to the DisplaySpecifiers container for a specific locale.
(The sample uses the GetSystemDefaultLCID function to get the locale, but clearly one could substitute MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_AUS) or 0x0c09 instead. We'll ignore the groaner of using the default system locale here)
For Ben's case where he is looking for the container string, a CN=c09 should do the trick?
This post brought to you by ệ (U+1ec7, a.k.a. LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW)