Windows Active Directory – 用户名中的特殊字符

我有一个没有特殊字符的AD用户(Š=带caron),例如myspecialuser 。 为什么我可以使用用户名myšpecialuser中的特殊字符login到Windows,即使它不存在? 我怎样才能禁用这种行为?

微软是这样做的。 看到这篇文章: 微软diacritic马克

我也发现这直接回答你的问题,不,你不能禁用的行为。

最近有人问:

任何人都可以用AD用户名(W2K和W2K3)指向允许字符列表的文档? 我也在寻找描述某些字符在login过程中被replace的行为的文档。 例如:如果我的用户名是ddomjanovic,我也可以使用用户名ddomjanovićlogin。 因此,在login过程中,使用c(代码页1250,E6 = U + 0107:LATIN小字母C WITH ACUTE)replacec(63 = U + 0063:LATIN小字母C)。

这种行为可以被禁用吗?

我在这篇文章中回答了这个问题,但是以一种迂回的方式。 简短的答案是否定的,没有办法禁用这种行为。 原因是Active Directory传递下列标志:

NORM_IGNORECASE | NORM_IGNORENONSPACE | NORM_IGNOREWIDTH | NORM_IGNOREKANA

这意味着这样的折叠有很多区别。

正如其他职位所说,本地帐户不通过公元工作,所以他们更直接的立场。 你知道,不仅考虑c(U + 0063)和ć(U + 0107)是不同的字母,而且还考虑了ć(U + 0107)和ć(U + 0063 U)的整个“UpCase和Binary” +0301)也是不一样的。 由于后者看起来相似,所以对很多人来说显然是一个解决办法比原来的问题更糟!

取自: sorting全部

我不确定你可以。 我也看到了相同的情况,但是却是相反的。 该帐户在其用户名中使用“特殊”字符,但用户可以使用用户名的“规范化”forms进行login。

我们看到的另一个奇怪的事情是,在断开连接的计算机上(使用caching的凭据),用户名必须正确input,例如“规范化”仅在连接到域时起作用。

对不起,没有你的解决scheme。