I have a feeling Windows expects 'country' to be an integer, with 0 meaning 'US'. If that's the case, what's the mapping between integers and ISO 2-letter country codes?active
There are three different properties that must be set in Active Directory. Each is designated in the ISO 3166 standard. The ISO website has a search tool that you can use to find the official codes. Select Country codes and hit search, then click on Officially assigned... on the left.
c
— 2 digit abbreviation (e.g. US)
The country/region in the address of the user. The country/region is represented as a 2-character code based on ISO-3166.
co
— Country name (e.g. United States). Microsoft got really detailed on their description for this one.
The country/region in which the user is located.
countryCode
— Numeric Id (e.g. 840)
Specifies the country/region code for the user's language of choice. This value is not used by Windows 2000.
Note: If you want to clear the country field, then you need to set this value to 0
. You cannot set it to null
or String.Empty
. It will throw a DirectoryServicesCOMException
stating "The server is unwilling to process the request" when you call CommitChanges()
if you try to set it to anything other than an int
.
DirectoryEntry.Properties["countryCode"].Value = 0;
See this link here:
ISO 3166 Country Codes
Seems to be standard ISO 3166 country codes used in several places.
Same result from this post here: Active Directory and .NET
Point 5 reads:
5. Set user's country
To set the country property for a user was one of the tasks that took me some time to figure out. After some hours of research I realized that you need to know the ISO 3166 Codes for countries and set three properties to define a user's country: c, co, and countryCode.
Best overview that includes the elusive ISO 3166 numeric codes can be found on Wikipedia - of course! (at ISO itself, you can't seem to get those lists for free - you have to pay for the privilege....)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With