我有一种感觉Windows期望'country'是一个整数,0表示'US'。如果是这种情况,那么整数和ISO 2字母国家/地区代码之间的映射是什么?活动
答案 0 :(得分:8)
请在此处查看此链接:
似乎是多个地方使用的标准ISO 3166国家/地区代码。
此帖子的结果相同:Active Directory和.NET
第5点读:
5。设置用户的国家/地区
设置用户的国家/地区属性 是我的一项任务 时间弄清楚。几个小时后 研究我意识到你需要 了解 ISO 3166代码 国家并设置三个属性 定义用户的国家:c,co和 COUNTRYCODE。
可以在Wikipedia - of course找到包含难以捉摸的ISO 3166 数字代码的最佳概述! (在ISO本身,您似乎无法免费获得这些列表 - 您必须为特权付费....)
答案 1 :(得分:6)
答案 2 :(得分:6)
必须在Active Directory中设置三个不同的属性。每个都在ISO 3166 standard中指定。 ISO网站有一个search tool,您可以使用它来查找官方代码。选择国家/地区代码并点击搜索,然后点击左侧的正式分配... 。
c
- 2位数字缩写(例如美国)
用户地址中的国家/地区。国家/地区代表基于ISO-3166的双字符代码。
co
- 国家/地区名称(例如美国)。微软对这个问题的描述非常详细。
用户所在的国家/地区。
countryCode
- 数字ID(例如 840 )
指定用户所选语言的国家/地区代码。 Windows 2000不使用此值。
注意:如果要清除国家/地区字段,则需要将此值设置为0
。您无法将其设置为null
或String.Empty
。如果您尝试将其设置为DirectoryServicesCOMException
以外的其他任何内容,则会在您CommitChanges()
时调用int
来说明“服务器不愿意处理请求”。
DirectoryEntry.Properties["countryCode"].Value = 0;