ชื่อผู้ใช้ของ Active Directory: ทำไมชื่อ canonical จึงแตกต่างกันไป ฉันสามารถทำบางสิ่งบางอย่างเพื่อทำให้พวกเขาเหมือนกันได้หรือไม่?


10

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

เครือข่ายเองมีเครื่อง Windows Server 2008 R2 เครื่องเดียวซึ่งทำหน้าที่เป็นตัวควบคุมโดเมน, DNS, การแชร์ไฟล์และอื่น ๆ การเข้าสู่ระบบทำงานได้ดี แต่ฉันถูก poking รายชื่อผู้ใช้ในขณะที่ปิดการใช้งานบัญชีเก่าและฉันสังเกตเห็นบางสิ่งที่ฉันไม่เข้าใจ .

นี่คือตัวอย่างบัญชีผู้ใช้สองสามบัญชี:

  1. ชื่อเข้าสู่ระบบ: john
    ชื่อ: John
    นามสกุล: Smith
    ชื่อที่แสดง: John Smith
    ชื่อที่เป็นที่ยอมรับของวัตถุ: domain.com/Users/john

  2. ชื่อเข้าสู่ระบบ: bob
    ชื่อจริง: Bob
    นามสกุล: French
    ชื่อที่แสดง: Bob French
    ชื่อวัตถุของ Canonical: domain.com/Users/Bob French

ตัวควบคุมโดเมนปัจจุบันถูกสลับจากที่อื่นที่ใช้ในการเรียกใช้ Windows Server 2003 บัญชีตัวอย่างแรกถูกสร้างขึ้นเมื่อกล่อง Server 2003 เป็น DC ที่สองถูกสร้างขึ้นเมื่อกล่อง Server 2008 R2 ที่ใหม่กว่าเป็น DC ทำไมชื่อ Canonical จึงแตกต่างกันและสร้างความแตกต่างหรือไม่?

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

ฉันสามารถทำบางสิ่งเพื่อทำให้พวกเขาเหมือนกันโดยไม่ทำลายบัญชีที่ทำงานได้หรือไม่


คุณเก็บผู้ใช้จริง ๆ ในdomain.com/UsersOU หรือไม่? หรือมันเป็นเพียงตัวอย่าง?
Mathias R. Jessen

ใช่ - ทั้งหมดอยู่ใน domain.com/Users/ พร้อมกับกลุ่มความปลอดภัยจำนวนหนึ่ง นี่คือการปฏิบัติที่ไม่ดี? ฉันควรจะย้ายพวกเขาหรือไม่ ฉันสามารถเคลื่อนย้ายพวกมันโดยไม่ทำลายทุกอย่างได้หรือไม่
evilspoons

2
หากคุณไม่มีแอพพลิเคชั่นภายนอกที่ใช้การเชื่อมโยงแบบง่ายสำหรับการตรวจสอบสิทธิ์คุณสามารถย้ายแอพพลิเคชั่นเหล่านั้นได้อย่างปลอดภัยและคุณควร มันช่วยให้การควบคุมเครื่องใช้นโยบายกลุ่มดีขึ้นมากเพื่อแยกพวกเขาออกจากกลุ่มรักษาความปลอดภัยที่รู้จักกันดี ฉันจะอัปเดตคำตอบเพื่อครอบคลุมเรื่องนี้ด้วย
Mathias R. Jessen

2
ขึ้นอยู่กับจำนวนวัตถุในโฆษณาของคุณและวิธีที่คุณต้องการจัดระเบียบวัตถุ โดยทั่วไปจะดีกว่าที่จะวางไว้ใน OU เพื่อจัดระเบียบและใช้ GPO กับพวกเขาได้ดีขึ้นและถือว่าเป็นแนวปฏิบัติที่ดีที่สุดที่จะออกจากคอนเทนเนอร์เริ่มต้น
Massimo

คำตอบ:


8

ไดเรกทอรีที่ใช้งานอยู่ไม่เกี่ยวข้องกับตัวเองว่า RDN ของวัตถุบัญชีผู้ใช้ (ส่วนสุดท้ายของชื่อ Canonical) เกี่ยวข้องกับคุณสมบัติอื่น ๆ เช่นชื่อที่แสดงหรือชื่อเข้าสู่ระบบ - ตราบใดที่ค่าของแต่ละแอตทริบิวต์ไม่ละเมิด นิยามสคีมา

พฤติกรรมของรูปแบบ "ผู้ใช้ใหม่" ในผู้ใช้ Active Directory และคอมพิวเตอร์ (รวมถึงการสนทนาอื่น ๆ ) ได้เปลี่ยนไปอย่างมากระหว่าง Windows Server 2003 และ Windows Server 2008 R2 - และนั่นอาจเป็นเหตุผลว่าทำไมพวกเขาจึงไม่สอดคล้องกัน

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

# Create new OU named RegularUsers
New-ADOrganizationalUnit -Name RegularUsers -Path "dc=domain,dc=com"

# Retrieve all users that are not critical system objects
$users = Get-ADUser -SearchBase "CN=Users,DC=domain,DC=com" -SearchScope OneLevel -Filter {-not(isCriticalSystemObject -like '*')}

# Go through each and move to the new OU
foreach($user in $users){
    Move-ADObject $user -TargetPath "OU=RegularUsers,DC=domain,DC=com"
}

# Retrieve all users in the new OU
$movedUsers = Get-ADUser -SearchBase "CN=Users,DC=domain,DC=com" -SearchScope OneLevel -Filter '*'

foreach($user in $movedUsers){
    # Test if Display Name and object Name is the same, if not - rename
    if($user.DisplayName -ne $user.Name)
    { 
        Rename-ADObject $user -NewName "$($user.DisplayName)" 
    }
}

สำหรับขั้นตอนแรกคุณยังสามารถไฮไลต์บัญชีผู้ใช้ทั้งหมดใน ADUC และลากแล้วปล่อยไปยังตำแหน่งอื่น


2

CN / DN ของวัตถุนั้นไม่ใช่สิ่งที่เกี่ยวข้องทั้งหมดเนื่องจากมันถูกใช้ภายในโดย AD และในการค้นหา LDAP เท่านั้น ผู้ใช้ (และผู้ดูแลระบบ) แทบไม่ได้เห็นเลย จริง ๆ แล้วมันจะเปลี่ยนแปลงด้วยตัวเองเมื่อคุณย้ายวัตถุไปมาเพราะมันมีเส้นทาง LDAP แบบเต็มของวัตถุ

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

ที่จะเปลี่ยนคุณสามารถใช้คอนโซล ADUC หรือคำสั่ง PowerShell เปลี่ยนชื่อ-ADObject


2
ฉันว่า CN / DN เป็นสิ่งสำคัญเมื่อพูดถึงการรวมเข้ากับแอปพลิเคชัน มักจะไม่พบการรวมโฆษณาโดยที่ LDAP มักเป็น ยินดีที่ได้ CN / DN ของคุณปฏิบัติตามมาตรฐาน มันดูน่ารักขึ้นด้วย :) ข้อมูลที่ดีเกี่ยวกับวิธีการเปลี่ยน
Steve Butler

1

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

นอกจากนี้ฉันขอแนะนำให้ใช้ตัวควบคุมโดเมนอื่นเพื่อหลีกเลี่ยงอาการปวดหัวหาก DC ของคุณเท่านั้นลง


หากระดับการทำงานของโดเมนและฟอเรสต์อยู่ที่ Server 2008 R2 กล่อง Server 2003 เก่าสามารถทำหน้าที่เป็น DC สำรองหรือเราจำเป็นต้องอัพเกรดระบบปฏิบัติการของเครื่องนั้นหรือไม่
evilspoons

2
คุณไม่สามารถยกระดับการทำงานของโดเมน / ฟอเรสต์เป็นเวอร์ชัน X ได้เว้นแต่ DCs ทั้งหมดในโดเมน / ฟอเรสต์จะมีระบบปฏิบัติการปล่อยอย่างน้อย
Massimo

@evilspoons ใช่คุณทำได้ แต่อย่างที่ massimo บอกว่ามันจะต้องอยู่ในระดับ Domain 2003 เพื่อที่จะทำสิ่งนั้น
Steve Butler

4
@SteveButler เนื่องจาก DFL / FFL 2008R2 ไม่สามารถย้อนกลับไปสู่ระดับที่สูงกว่า 2008 ได้ "ใช่" ไม่ใช่คำตอบที่นี่แน่นอน
Mathias R. Jessen

เอาล่ะตัวเลือกของฉันจะสร้างโดเมนใหม่ที่ระดับ 2003 (จะไม่เกิดขึ้น) หรืออัปเกรดกล่อง 2003 เป็น 2008 R2 (อาจจะไม่เกิดขึ้นเจ้านายของฉันจะใช้จ่ายเงินกับเครื่องใหม่เร็วกว่าเล่นกับ อันเก่า). ฉันจะตรวจสอบให้แน่ใจว่าการสำรองข้อมูลของเราดีแม้ว่าในกรณีที่มีบางอย่างไม่ตาย ...
evilspoons
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.