ความแตกต่างระหว่าง DOMAIN \ ชื่อผู้ใช้และชื่อผู้ใช้@domain.local?


46

ฉันพยายามแก้ไขข้อผิดพลาดในการตรวจสอบความถูกต้องที่คลุมเครือและต้องการข้อมูลพื้นหลังบางอย่าง

  • มีความแตกต่างระหว่างวิธีการที่ Windows (และโปรแกรมเช่น Outlook) กระบวนการใด ๆDOMAIN\usernameและusername@domain.local?

  • ข้อกำหนดที่เหมาะสมสำหรับรูปแบบชื่อผู้ใช้สองรูปแบบเหล่านี้คืออะไร

  • แก้ไข : โดยเฉพาะมีความแตกต่างในวิธีที่ Windows รับรองความถูกต้องของรูปแบบชื่อผู้ใช้สองรูปแบบหรือไม่


คุณอาจสนใจคำถามข้อใดข้อหนึ่งก่อนหน้าของฉัน
Belmin Fernandez

คำตอบ:


38

สมมติว่าคุณมีสภาพแวดล้อมของ Active Directory:

ฉันเชื่อว่ารูปแบบแบ็กสแลช DOMAIN \ USERNAME จะค้นหาโดเมน DOMAIN สำหรับวัตถุผู้ใช้ที่ชื่อบัญชี SAM คือ USERNAME

รูปแบบชื่อผู้ใช้ @ โดเมน UPN จะค้นหาฟอเรสต์สำหรับวัตถุผู้ใช้ที่มีชื่อหลักการผู้ใช้คือชื่อผู้ใช้ @ โดเมน

ตอนนี้โดยปกติบัญชีผู้ใช้ที่มีชื่อบัญชี SAM ของ USERNAME จะมี UPN ของ USERNAME @ DOMAIN ดังนั้นรูปแบบใดรูปแบบหนึ่งควรจะค้นหาบัญชีเดียวกันได้อย่างน้อยโฆษณา AD ก็จะทำงานได้อย่างสมบูรณ์ หากมีปัญหาการจำลองแบบหรือคุณไม่สามารถเข้าถึงแคตตาล็อกส่วนกลางรูปแบบแบ็กสแลชอาจทำงานในกรณีที่รูปแบบ UPN จะล้มเหลว อาจมีเงื่อนไข (ผิดปกติ) ที่ใช้การย้อนกลับ - บางทีหากไม่มีตัวควบคุมโดเมนสามารถเข้าถึงได้สำหรับโดเมนเป้าหมายตัวอย่างเช่น

อย่างไรก็ตาม: คุณยังสามารถกำหนดค่าบัญชีผู้ใช้ให้มี UPN ที่มีส่วนประกอบชื่อผู้ใช้แตกต่างจากชื่อบัญชี SAM และส่วนประกอบของโดเมนนั้นแตกต่างจากชื่อของโดเมน

แท็บบัญชีในผู้ใช้ของไดเรกทอรีที่ใช้งานอยู่และคอมพิวเตอร์แสดง UPN ภายใต้หัวข้อ "ชื่อเข้าสู่ระบบผู้ใช้" และชื่อบัญชี SAM ภายใต้หัวข้อ "ชื่อเข้าสู่ระบบผู้ใช้ (pre-Windows 2000)" ดังนั้นหากคุณมีปัญหากับผู้ใช้บางคนฉันจะตรวจสอบว่าไม่มีความแตกต่างระหว่างค่าทั้งสองนี้

หมายเหตุ: อาจเป็นไปได้ว่าการค้นหาเพิ่มเติมเสร็จสิ้นหากการค้นหาที่ฉันอธิบายข้างต้นไม่พบบัญชีผู้ใช้ ตัวอย่างเช่นชื่อผู้ใช้ที่ระบุอาจถูกแปลงเป็นรูปแบบอื่น ๆ (ในวิธีที่ชัดเจน) เพื่อดูว่ามีการจับคู่หรือไม่ จะต้องมีขั้นตอนในการค้นหาบัญชีในโดเมนที่เชื่อถือได้ซึ่งไม่ได้อยู่ในฟอเรสต์ ฉันไม่ทราบว่ามีการบันทึกพฤติกรรมที่แน่นอนหรือไม่

เพื่อแก้ไขปัญหาที่ซับซ้อนยิ่งขึ้นไคลเอนต์ Windows จะตามข้อมูลแคชเริ่มต้นเกี่ยวกับการเข้าสู่ระบบแบบโต้ตอบที่ประสบความสำเร็จเพื่อให้คุณสามารถเข้าสู่ระบบไคลเอนต์เดียวกันแม้ว่าข้อมูลบัญชีผู้ใช้ของคุณใน Active Directory จะไม่สามารถเข้าถึงได้


1
ฉันชอบคำตอบนี้ดีกว่าของฉัน ทำได้ดีมาก
Ryan Ries

หากคุณกำลังสอบถามโฆษณาด้วย ldapsearch คุณจะพบชื่อล็อกอินระดับล่างในแอตทริบิวต์ msDS-PrincipalName ซึ่งคุณต้องขออย่างชัดเจนเนื่องจากเป็น "แอตทริบิวต์การดำเนินงาน"
Eric

22

ฉันอาจได้รับการแก้ไขในเรื่องนี้ แต่ก็มีความแตกต่างไม่มาก

Domain \ User คือรูปแบบการเข้าสู่ระบบ "เก่า" ที่เรียกว่าชื่อเข้าสู่ระบบระดับล่าง นอกจากนี้ยังเป็นที่รู้จักกันในชื่อSAMAccountNameและก่อน Windows 2000 ชื่อเข้าสู่ระบบ

User@Domain.com เป็นUPN - ชื่อผู้ใช้หลัก เป็นรูปแบบการเข้าสู่ระบบ "ที่ต้องการ" ใหม่กว่า เป็นชื่อเข้าสู่ระบบแบบอินเทอร์เน็ตที่ควรจับคู่กับชื่ออีเมลผู้ใช้ ( อ้างอิงที่ MSDN )

เหตุผลในการเข้าสู่ระบบด้วย UPNs ที่ฉันคิดว่าส่วนใหญ่เป็นเครื่องสำอาง - พวกเขาให้ชื่อผู้ใช้ของคุณใน บริษัท ของคุณด้วยชื่อเดียวกับการล็อกอินเข้าสู่เวิร์กสเตชันซึ่งสามารถทำหน้าที่เป็นที่อยู่อีเมลขององค์กรได้

แก้ไข:รายละเอียดเพิ่มเติม - ข้อดีอีกประการของ UPN คือคุณสามารถตั้งค่า UPN ที่ถูกต้องมากกว่าหนึ่งรายการเพื่อให้ผู้ใช้ของคุณเข้าสู่ระบบด้วย อีกครั้งเครื่องสำอางส่วนใหญ่ แต่สิ่งสำคัญคือแอปพลิเคชั่นบางตัวไม่สามารถใช้งานร่วมกับ UPN ได้และนั่นอาจเป็นสิ่งที่คุณกำลังประสบอยู่

แก้ไข # 2:ฉันชอบคำตอบของ Harry Johnston ด้านล่างเกี่ยวกับรูปแบบการค้นหาสองแบบที่ต่างกันเล็กน้อย มันสมเหตุสมผลและที่สำคัญที่สุดมันอาจอธิบายปัญหาของคุณได้ :)


3
ไม่มีการกล่าวถึง UPN ใน RFC 822 "มาตรฐานสำหรับรูปแบบของข้อความอินเทอร์เน็ต ARPA" UPNs เป็น "การประดิษฐ์" Active Directory ที่ผูกเข้าด้วยกัน Kerberos และข้อมูล LDAP เพื่อให้บริการ Single Sign-On (SSO) ข้ามโดเมน (หรือ "อาณาจักร") ของระบบคอมพิวเตอร์ที่เกี่ยวข้อง
adaptr

อาขอโทษ - ฉันได้รับข้อมูลของฉันจากmsdn.microsoft.com/en-us/library/windows/desktop/ ...... ฉันจะแก้ไขคำตอบของฉันหากฉันพบสิ่งที่ถูกต้อง
Ryan Ries

1
@adaptr RFC 822 เลิกใช้แล้ว 10 ปีที่แล้ว - ดู rfc 2822
Jim B

@ Ryan ฉันคิดว่า Active Directory ถูกค้นหาด้วยวิธีที่แตกต่างกันสำหรับสองรูปแบบที่แตกต่างกัน - ดูคำตอบของฉัน
แฮร์รี่จอห์นสตัน

@JimB ฉันคิดว่าคุณจะพบว่าไม่มี RFC822 ไม่ล้าสมัย; ทั้ง RFC2822 และ RFC 5322 ปัจจุบันอ้างถึงรวมถึง RFCs ที่เกี่ยวข้องกับจดหมายและเนื้อหาอื่น ๆ (5321 สำหรับ starters)
adaptr

1

รูปแบบสแลช ( DOMAIN\username) เป็นจริงNetBIOSเทียบเท่ากับชื่อ DNS ของโดเมน ( domain.mycompany.local) ชื่อถูก จำกัด ไว้ที่ 15 ตัวอักษรและไม่สามารถมีจุดขีด ฯลฯ
NetBIOS

หน้านี้อธิบายรายละเอียดเพิ่มเติม:
* Jeff Schertz, 2012-08-20, การทำความเข้าใจกับรูปแบบการตั้งชื่อไดเรกทอรีที่ใช้งาน (เก็บถาวรที่นี่ )

ตามที่กล่าวไว้โดย @ harry-johnston ด้านบนเป็นเพียงรูปแบบที่ใช้งานร่วมกันได้ของ NT4 และ Windows 2000 แต่ดูเหมือนว่ามันจะติดอยู่ในรูปแบบที่โปรดปราน ในที่สุดการรองรับรูปแบบดั้งเดิมอาจไปจาก Windows

อาจเป็นความคิดที่ดีที่จะให้ผู้ใช้มีนิสัยในการใช้รูปแบบ UPN เพราะจะช่วยหลีกเลี่ยงปัญหาที่พวกเขามีปัญหาในการลงชื่อเข้าใช้พีซีด้วยชื่อผู้ใช้ของพวกเขาและไม่ทราบว่ากล่องล็อกอินของ Windows เป็นค่าเริ่มต้น โดเมนพีซี (เช่น. pc01\fred) หรือเมื่อพวกเขาเชื่อมต่อกับโฮสต์เดสก์ท็อประยะไกลที่แตกต่างกันและต้องจำไว้ว่าต้องรวมโดเมนรวมถึงชื่อผู้ใช้ของพวกเขาด้วยเนื่องจากไคลเอนต์เดสก์ท็อประยะไกลอาจแคชชื่อโดเมนอื่น การผสานกับรูปแบบ UPN ทุกครั้งที่มีการโทรเพื่อขอการสนับสนุนน้อยที่สุด


ไม่น่าเป็นไปได้ที่ "รูปแบบเก่า" จะหายไปเนื่องจากยังใช้งานได้กับสภาพแวดล้อมที่ไม่ใช่โฆษณา ( Host\usernameแน่นอนไม่มีโดเมนที่ไม่มีโฆษณา)
MSalters

-1

มีความแตกต่างที่ชัดเจนระหว่างสองคนนี้เพียง 99% ของผู้ใช้จะไม่มีปัญหากับมัน ฉันจะพยายามอธิบายความแตกต่างและเมื่อปัญหาดังกล่าวอาจเกิดขึ้น

หากคุณใช้โดเมน \ ชื่อผู้ใช้เมื่อคุณพยายามเข้าถึงไฟล์แชร์ DNS จะแก้ไขโดเมนก่อนจากนั้นตรวจสอบชื่อผู้ใช้ หากคุณใช้ชื่อผู้ใช้โดเมน @ มันจะตรวจสอบโดยตรงว่าผู้ใช้อยู่ใน ACL (รายการควบคุมการเข้าถึง) และมีการเข้าถึง ดังนั้นมันสำคัญอะไรที่คุณอาจคิดว่า ... เอาล่ะลองดูสิ่งนี้:

1 ตัวควบคุมโดเมนที่มีชื่อ DC01 และไคลเอนต์ทั้งหมดจะได้รับ dns และอยู่ในโดเมนนี้ คุณต้องการย้ายข้อมูลและมีคนเพิ่มเซิร์ฟเวอร์อื่นด้วยชื่อเดียวกัน เซิร์ฟเวอร์หลังจะกลายเป็น DC ดังนั้น SAM ท้องถิ่นจะไม่ถูกใช้อีกต่อไปและยังมีการแชร์ไฟล์

เมื่อผู้ใช้จะเชื่อมต่อกับเซิร์ฟเวอร์พวกเขาจะได้รับพร้อมท์สำหรับข้อมูลประจำตัว หากคุณใช้โดเมน \ ชื่อผู้ใช้มันจะตรวจสอบโดเมนปัจจุบันแทนการใช้โดเมนใหม่และเราใช้บัญชีจากโดเมนใหม่ในการแชร์ไฟล์ ดังนั้นเมื่อพบ dc ปัจจุบันและตรวจสอบชื่อผู้ใช้แล้วจะไม่พบ (แม้ว่าจะพบชื่อผู้ใช้และรหัสผ่านและเป็นชื่อเดียวกันมันจะไม่ทำงานเนื่องจากจะไม่ใช้ชื่อผู้ใช้เพื่อตรวจสอบว่าได้รับอนุญาตใน ACL แต่จะใช้ SID sid จะถูกสร้างขึ้นที่ เวลาในการสร้างผู้ใช้ในโฆษณาและคุณมีการเปลี่ยนแปลง 1 ในล้านล้านที่เหมือนกันฮะดี :-P)


-1 ฉันไม่สามารถติดตามสิ่งที่คุณพูดที่นี่ได้ คุณจะพูดว่า "เมื่อผู้ใช้จะเชื่อมต่อกับเซิร์ฟเวอร์" คุณหมายถึงเซิร์ฟเวอร์ใด DC01 เก่าหรือ DC01 ใหม่ เกิดอะไรขึ้นกับ DC01 เก่าหรือไม่มันเลิกใช้งานเปลี่ยนชื่อลบออกจากโดเมนหรืออะไร มันลดระดับอย่างถูกต้องก่อนหรือไม่ "โดเมนใหม่" หมายความว่าอย่างไรเนื่องจากคุณไม่ได้อธิบายการสร้างโดเมนใหม่ ณ จุดใด หากคุณใช้ "domain \ ชื่อผู้ใช้" ควรค้นหาโดเมนที่คุณระบุไว้อย่างชัดเจนคุณจะอธิบายกรณีที่ไม่ได้หรือไม่
Harry Johnston

นอกจากนี้ "จะไม่ใช้ชื่อผู้ใช้ในการตรวจสอบว่าได้รับอนุญาตใน ACL แต่จะใช้ SID" เป็นพฤติกรรมที่คาดหวัง - ควรทำเช่นนั้นเสมอไม่ว่าคุณจะใช้โดเมน \ ชื่อผู้ใช้หรือชื่อผู้ใช้ @ โดเมน คุณกำลังพูดถึงกรณีที่มีสองโดเมนที่มีชื่อเดียวกันหรือสิ่งที่คล้ายกันทางพยาธิวิทยา?
Harry Johnston

DNS แรกจะแก้ไขโดเมนและจากนั้นตรวจสอบชื่อผู้ใช้ DNS จะตรวจสอบชื่อผู้ใช้หรือไม่ อะไร?
bahrep
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.