题 DOMAIN \ username和username@domain.local之间有什么区别吗?


我正在尝试解决一个模糊的身份验证错误,需要一些背景信息。

  • Windows(和Outlook等程序)的处理方式有何不同? DOMAIN\username 和 username@domain.local

  • 这两种用户名格式的正确用法是什么?

  • 编辑:特别是,Windows验证两种用户名格式的方式有什么不同吗?


39
2018-03-19 13:28




你可能对我的一个感兴趣 上一个问题秒。 - Belmin Fernandez


答案:


假设您有一个Active Directory环境:

我相信反斜杠格式DOMAIN \ USERNAME将在域DOMAIN中搜索其SAM帐户名为USERNAME的用户对象。

UPN格式的用户名@域将在林中搜索用户原则名称为username @ domain的用户对象。

现在, 一般 SAM帐户名称为USERNAME的用户帐户的UPN为USERNAME @ DOMAIN,因此任一格式都应该找到相同的帐户,至少只要AD完全正常运行。如果存在复制问题或无法访问全局编录,则反斜杠格式可能适用于UPN格式失败的情况。也可能存在反向适用的(异常)条件 - 例如,如果目标域不能到达域控制器。

但是:您还可以显式配置用户帐户,使其UPN的用户名组件与SAM帐户名不同,其域组件与域名不同。

“Active Directory用户和计算机”中的“帐户”选项卡在“用户登录名”标题下显示UPN,在“用户登录名(Windows 2000以前版本)”标题下显示SAM帐户名称。因此,如果您遇到特定用户的问题,我会检查这两个值之间是否存在任何差异。

注意:如果我上面描述的搜索找不到用户帐户,则可能会进行其他搜索。例如,可能将指定的用户名转换为另一种格式(以明显的方式),以查看是否产生匹配。还必须有一些在受信任域中查找不在林中的帐户的过程。我不知道在哪里/是否记录了确切的行为。

只是为了进一步使故障排除复杂化,Windows客户端默认会缓存有关成功交互式登录的信息,这样即使Active Directory中的用户帐户信息不可访问,您也可以登录到同一客户端。


34
2018-03-20 03:28



我比这更喜欢这个答案。做得很好。 - Ryan Ries
如果您使用ldapsearch查询AD,您将在msDS-PrincipalName属性中找到下级登录名,您需要明确请求该属性,因为它是“操作属性”。 - Eric


我可能会对此纠正,但并没有太大的区别。

Domain \ User是“旧”登录格式,称为 下级登录名。也称为名称 SAM帐户名 和 Windows 2000之前的登录名

User@Domain.com是一个 UPN - 用户主体名称。它是“首选”,更新的登录格式。这是一个Internet样式的登录名,应该映射到用户的电子邮件名称。 (参考。在MSDN

我认为使用UPN登录的原因主要是装饰性的 - 他们假设您的公司用户只需一个名称登录到他们的工作站,这些工作站也可以作为他们的公司电子邮件地址。

编辑: 更详细的说明 - UPN的另一个优点是您可以为您的用户设置多个有效的UPN以进行登录。再次,主要是化妆品。但重要的是,并非所有应用程序都与UPN兼容,这可能就是您所遇到的问题。

编辑#2: 我喜欢下面关于两种略有不同的搜索格式的Harry Johnston的回答。这是有道理的,最重要的是它可能实际上解释了你的问题。 :)


18
2018-03-19 13:46



在RFC 822“ARPA因特网文本消息格式标准”中没有提到UPN。 UPN是Active Directory“发明”,它将Kerberos和LDAP信息绑定在一起,以便在相关计算机系统的域(或“领域”)上提供单点登录服务(SSO)。 - adaptr
啊,对不起 - 我收到了我的信息 msdn.microsoft.com/en-us/library/windows/desktop/... ......如果找到合适的答案,我会编辑我的答案。 - Ryan Ries
@adaptr RFC 822在10年前被淘汰了 - 参见rfc 2822。 - Jim B
@Ryan,我认为Active Directory以不同的方式搜索两种不同的格式 - 请参阅我的回答。 - Harry Johnston
@JimB我想你会发现不行,RFC822不会过时; RFC2822和当前的RFC 5322都引用了它,以及许多其他与邮件和内容相关的RFC(5321对于初学者)。 - adaptr


削减格式(DOMAIN\username)实际上是 NetBIOS 相当于域名的DNS名称(domain.mycompany.local)。
NetBIOS 名称限制为15个字符,不能包含点,下划线等。

本页详细说明:
* Jeff Schertz,2012-08-20, 了解Active Directory命名格式 (存档 这里。)

正如@ harry-johnston上面所提到的,它实际上只是旧的NT4和Windows 2000兼容格式,但它似乎已经成为一种最喜欢的格式(它更少输入!)。最终,对旧格式的支持可能来自Windows。

让用户养成使用UPN格式的习惯可能是一个好主意,因为它还避免了用户使用用户名登录到PC时出现问题并且没有意识到Windows登录框默认为本地的问题PC域(例如 pc01\fred)或者当他们连接到不同的远程桌面主机并且必须记住包括域及其用户名时,因为远程桌面客户端可能缓存另一个以前使用的域名。每次坚持使用UPN格式最终只会减少支持呼叫。


0
2017-12-16 13:56



“旧格式”不太可能消失,因为它仍然用于非AD环境。 (如 Host\username 当然,没有没有AD的域名) - MSalters


这两者之间存在明显差异,只有99%的用户不会遇到问题。我将尝试解释差异以及何时可能出现此类问题。

如果您在尝试访问文件共享时使用域\用户名,则DNS将首先解析域,然后检查用户名。如果您使用username @ domain,那么它将直接检查用户是否在ACL(访问控制列表)上并且具有访问权限。那你觉得有什么关系......好吧,想象一下:

1个名为DC01的域控制器,所有客户端都获得dns,并且位于此域中。 您想要迁移并且有人添加了另一个具有相同名称的服务器。 后一个服务器也将成为DC,因此本地SAM将不再使用,并且还具有文件共享。

当用户连接到服务器时,系统会提示他们输入凭据。 如果您使用域\用户名,它将首先检查当前域而不是使用新域,我们在文件共享上使用新域中的帐户。因此,一旦找到当前的dc并检查用户名,就无法找到它。 (即使找到了用户名和密码并且完全相同,它也不会起作用,因为它不会使用用户名验证ACL中是否允许它,但它将使用SID .sid将在AD中的用户创建时间和万亿分之一的变化是相同的,很棒的呵呵:-P)。


-1
2017-07-15 11:39



-1。我真的不能听从你在这里说的话。在哪里说“当用户连接到服务器”时你指的是哪个服务器,旧的DC01,还是新的DC01?无论如何,旧的DC01发生了什么事情,它是退役,重命名,从域中移除,还是什么?是先降级得合适吗?你是什​​么意思“新域名”,因为你没有在任何时候描述新域名的创建?如果您使用“域\用户名”它 应该 总是搜索你明确指定的域名,你描述的情况不是吗? - Harry Johnston
此外,“它不会使用用户名验证ACL中是否允许它,但它将使用SID”是预期的行为 - 它应该始终这样做,无论您使用domain \ username还是username @ domain。您是在谈论有两个具有相同名称的域名,或类似病态的案例? - Harry Johnston
DNS将首先解析域,然后检查用户名。 DNS会检查用户名吗?什么? - bahrep