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


46

我正在尝试解决晦涩的身份验证错误,并且需要一些背景信息。

  • Windows和Outlook等程序的处理方式DOMAIN\username和之间有什么区别username@domain.local吗?

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

  • 编辑:尤其是Windows如何验证两种用户名格式有什么区别?


您可能对我先前的问题之一感兴趣。
Belmin Fernandez 2012年

Answers:


38

假设您有一个Active Directory环境:

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

UPN格式username @ domain将在目录林中搜索用户主体名称为username @ domain的用户对象。

现在,通常,具有SAM帐户名USERNAME的用户帐户的UPN为USERNAME @ DOMAIN,因此至少在AD可以正常运行的情况下,这两种格式都应找到同一帐户。如果存在复制问题或无法访问全局目录,则在UPN格式失败的情况下,反斜杠格式可能会起作用。可能还会存在(异常)情况,在这种情况下,情况可能会相反(例如,如果无法针对目标域访问域控制器)。

但是:您还可以将用户帐户显式配置为具有UPN,其用户名组成部分与SAM帐户名不同,并且其域组成部分与域名称不同。

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

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

为了使故障排除更加复杂,默认情况下,Windows客户端将缓存有关成功的交互式登录的信息,因此即使无法访问Active Directory中的用户帐户信息,您也可以登录到同一客户端。


1
我比我更喜欢这个答案。做得很好。
瑞安·里斯

如果使用ldapsearch查询AD,则会在msDS-PrincipalName属性中找到下级登录名,由于它是一个“操作属性”,因此需要明确要求它。
艾瑞克(Eric)

22

我对此可能会得到纠正,但实际上并没有太大的区别。

域\用户是“旧”登录格式,称为下级登录名。也以名称SAMAccountNameWindows 2000以前的登录名闻名。

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

我认为使用UPN登录的原因主要是出于表面目的-假设它们为您公司中的用户提供了一个单一名称,用于登录其工作站,该工作站也可以用作其公司电子邮件地址。

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

编辑#2:我喜欢哈里·约翰斯顿(Harry Johnston)在下面给出的关于两种略有不同的搜索格式的答案。这是有道理的,最重要的是,它实际上可以解释您的问题。:)


3
在RFC 822“ ARPA Internet文本消息格式标准”中没有提到UPN。UPN是将Kerberos和LDAP信息绑定在一起的Active Directory“发明”,以便在关联计算机系统的域(或“领域”)内提供单点登录服务(SSO)。
适配器2012年

啊,对不起-我是从msdn.microsoft.com/zh-cn/library/windows/desktop/中获取信息的... ...如果找到正确的答案,我将对其进行编辑。
瑞安·里斯

1
@adaptr RFC 822在10年前被废弃-见RFC 2822
吉姆乙

@Ryan,我认为对Active Directory的两种不同格式的搜索方式不同-请参阅我的答案。
哈里·约翰斯顿

@JimB我想您会发现不,RFC822并不是过时的。RFC2822和当前的RFC 5322都引用了它,以及许多其他与邮件和内容相关的RFC(初学者为5321)。
适配器

1

斜杠(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格式只会减少最终的支持电话。


“旧格式”不太可能消失,因为它仍在非AD环境中使用。(Host\username当然,没有AD的情况下没有域)
MSalters '18

-1

两者之间肯定有区别,只有99%的用户不会有任何问题。我将尽力解释这种差异以及何时可能出现这种问题。

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

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

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


-1。我真的听不懂您在这里说的话。在哪里说“用户将连接到服务器的时间”是指旧的DC01还是新的DC01?无论如何,旧的DC01发生了什么事情,是退役,重命名,从域中删除还是什么?首先适当降级了吗?既然您在任何时候都没有描述新域的创建,那么“新域”是什么意思?如果使用“ domain \ username”,则它始终搜索您显式指定的域,是否描述了不这样做的情况?
哈里·约翰斯顿

同样,“预期的行为是:“它不会使用用户名来验证是否在ACL中允许它使用,但它将使用SID” —无论您使用domain \ username还是username @ domain,它都应始终这样做。您是在谈论两个域名相同或病理相似的情况吗?
哈里·约翰斯顿

DNS将首先解析域,然后检查用户名。DNS会检查用户名吗?什么?
bahrep 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.