ตามค่าเริ่มต้น เฉพาะสมาชิกของกลุ่ม Domain Admins เท่านั้นที่มีสิทธิ์การเข้าถึง RDP แบบระยะไกล ไปยังเดสก์ท็อปของ Domain Controllers ของ Active Directory ในบทความนี้เราจะแสดงวิธีการให้สิทธิ์การเข้าถึง RDP ไปยัง Domain Controllers สำหรับบัญชีผู้ใช้ที่ไม่ใช่แอดมิน โดยไม่ต้องมอบสิทธิ์การจัดการระบบ
หลายคนอาจถามอย่างสมเหตุสมผลว่า: ทำไมผู้ใช้โดเมนทั่วไปถึงควรเข้าถึงเดสก์ท็อปของ DC? ในโครงสร้างพื้นฐานขนาดเล็กหรือขนาดกลาง เมื่อมีผู้ดูแลระบบหลายคนที่มีสิทธิ์ Domain Admins ดูแลแล้ว คุณจะไม่ค่อยต้องการสิ่งนี้ ในกรณีส่วนใหญ่ การมอบสิทธิ์บางส่วนใน Active Directory หรือการใช้ PowerShell Just Enough Administration (JEA) เพียงพอแล้ว
อย่างไรก็ตาม ในเครือข่ายองค์กรขนาดใหญ่ที่ดูแลโดยผู้ดูแลระบบจำนวนมาก อาจจำเป็นต้องให้สิทธิ์การเข้าถึง RDP ไปยัง DC (โดยทั่วไปคือ DC ของสาขาหรือ RODC) สำหรับกลุ่มผู้ดูแลเซิร์ฟเวอร์ต่างๆ ทีมตรวจสอบ ผู้ดูแลระบบขณะปฏิบัติหน้าที่ หรือบุคลากรทางเทคนิคอื่นๆ นอกจากนี้ บางครั้งบริการของบุคคลที่สาม ซึ่งไม่ได้ถูกจัดการโดยผู้ดูแลโดเมน ถูกปรับใช้บน DC และมีความจำเป็นต้องบำรุงรักษาบริการเหล่านี้
เคล็ดลับ Microsoft ไม่แนะนำให้ติดตั้งบทบาท Active Directory Domain Services และ Remote Desktop Service (Terminal Server) บนเซิร์ฟเวอร์เดียวกัน หากมีเพียงเซิร์ฟเวอร์ทางกายภาพหนึ่งเครื่องที่คุณต้องการปรับใช้ทั้ง DC และ RDS คุณควรใช้การเสมือนจริง เนื่องจากนโยบายการอนุญาตการเสมือนจริงของ Microsoft อนุญาตให้คุณรันเซิร์ฟเวอร์เสมือน 2 เครื่องภายใต้ใบอนุญาต Windows Server Standard เดียวกัน
เพื่อลงชื่อเข้าใช้จากระยะไกล คุณต้องมีสิทธิ์การลงชื่อเข้าใช้ผ่าน Remote Desktop Services
หลังจากที่เซิร์ฟเวอร์ได้รับการโปรโมตเป็น Domain Controller แล้ว คุณจะไม่สามารถจัดการผู้ใช้และกลุ่มท้องถิ่นจากคอนโซล MMC Computer Management ได้ เมื่อคุณพยายามเปิดคอนโซล Local Users and Groups (lusrmgr.msc) จะเกิดข้อผิดพลาดดังนี้:
The computer xxx is a domain controller. This snip-in cannot be used on a domain controller. Domain accounts are managed with the Active Directory Users and Computers snap-in.

ดังที่คุณเห็น ไม่มีกลุ่มท้องถิ่นบน Domain Controller แทนที่จะเป็นกลุ่มท้องถิ่น Remote Desktop Users DC จะใช้กลุ่มโดเมนในตัว Remote Desktop Users (อยู่ในคอนเทนเนอร์ Builtin) คุณสามารถจัดการกลุ่มนี้จากคอนโซล ADUC หรือจาก Command Prompt บน DC
แสดงสมาชิกของกลุ่มโดเมน Remote Desktop Users บน Domain Controller โดยใช้คำสั่ง:
net localgroup "Remote Desktop Users"
ดังที่คุณเห็น กลุ่มนี้ว่างเปล่า เพิ่มผู้ใช้โดเมน it-pro เข้าไป (ในตัวอย่างของเรา it-pro เป็นผู้ใช้โดเมนทั่วไปโดยไม่มีสิทธิ์การจัดการ):
net localgroup "Remote Desktop Users" /add corp\it-pro
ตรวจสอบให้แน่ใจว่าผู้ใช้ถูกเพิ่มเข้าไปในกลุ่มนี้แล้ว:
net localgroup "Remote Desktop Users"

คุณยังสามารถตรวจสอบได้ว่าผู้ใช้เป็นสมาชิกของกลุ่มโดเมน Remote Desktop Users แล้ว โดยใช้สแนปอิน ADUC (dsa.msc)
อย่างไรก็ตาม แม้หลังจากนั้น ผู้ใช้ยังไม่สามารถเชื่อมต่อกับ DC ผ่าน Remote Desktop ได้ และเกิดข้อผิดพลาด:
To sign in remotely, you need the right to sign in through Remote Desktop Services. By default members of the Administrators group have this right. If the group you're in does not have the right, or if the right has been removed from the Administrators group, you need to be granted the right manually.

Group Policy: อนุญาตการ Log on ผ่าน Remote Desktop Services
เพื่ออนุญาตให้ผู้ใช้หรือกลุ่มโดเมนสามารถเชื่อมต่อ RDP แบบระยะไกลไปยัง Windows คุณต้องมอบสิทธิ์ SeRemoteInteractiveLogonRight โดยค่าเริ่มต้น เฉพาะสมาชิกของกลุ่ม Administrators เท่านั้นที่มีสิทธิ์นี้ คุณสามารถมอบสิทธิ์นี้ได้โดยใช้โพลิซี Allow log on through Remote Desktop Services
ใน Windows 2003 และเวอร์ชันเก่ากว่า โพลิซีนี้เรียกว่า Allow log on through terminal services
เพื่ออนุญาตการเชื่อมต่อระยะไกลไปยัง Domain Controllers สำหรับสมาชิกของกลุ่ม Remote Desktop Users คุณต้องเปลี่ยนการตั้งค่าของโพลิซีนี้บน Domain Controller ของคุณ:
- เปิด Local Group Policy Editor (
gpedit.msc); - ไปที่ส่วน GPO Computer Configuration -> Windows settings -> Security Settings -> Local policies -> User Rights Assignment;
- ค้นหาโพลิซี Allow log on through Remote Desktop Services; หลังจากที่เซิร์ฟเวอร์ถูกโปรโมตเป็น DC เฉพาะกลุ่ม Administrators (ซึ่งคือ Domain Admins) เท่านั้นที่เหลืออยู่ในโพลิซีท้องถิ่นนี้
- แก้ไขโพลิซี เพิ่มกลุ่มโดเมน Remote Desktop Users (เช่นนี้:
domainname\Remote Desktop Users) หรือผู้ใช้โดเมนโดยตรง หรือกลุ่ม (domain\CA_Server_Admins) เข้าไป;
- อัปเดตการตั้งค่า Local Group Policy บน DC โดยใช้คำสั่ง:
gpupdate /force
โปรดทราบว่ากลุ่มที่คุณเพิ่มเข้าไปในโพลิซี Allow log on through Remote Desktop Services ไม่ควรอยู่ในโพลิซี "Deny log on through Remote Desktop Services" เนื่องจากมีความสำคัญสูงกว่า (ตรวจสอบบทความ Restricting Network Access under local accounts) นอกจากนี้ หากคุณจำกัดรายการคอมพิวเตอร์ที่ผู้ใช้สามารถเข้าสู่ระบบได้ คุณต้องเพิ่มชื่อ DC ไปที่คุณสมบัติของบัญชี AD (แอตทริบิวต์ LogonWorkstations ของผู้ใช้)
หมายเหตุ เพื่ออนุญาตให้ผู้ใช้เข้าสู่ระบบ DC ทางพื้นที่ (ผ่านคอนโซลเซิร์ฟเวอร์) คุณต้องเพิ่มบัญชีหรือกลุ่มไปยังโพลิซี "Allow log on locally" ตามค่าเริ่มต้น สิทธิ์นี้ได้รับอนุญาตสำหรับกลุ่มโดเมนต่อไปนี้:
- Backup Operators
- Administrators
- Print Operators
- Server Operators
- Account Operators
หมายเหตุ ควรสร้างกลุ่มความปลอดภัยใหม่ในโดเมน เช่น AllowLogonDC และเพิ่มบัญชีผู้ใช้ที่ต้องการการเข้าถึงระยะไกลไปยัง DC หากคุณต้องการอนุญาตการเข้าถึง Domain Controllers ทั้งหมดใน AD พร้อมกัน แทนที่จะแก้ไข Local Policy บนแต่ละ DC ควรเพิ่มกลุ่มผู้ใช้ไปยัง Default Domain Controllers Policy โดยใช้คอนโซล GPMC.msc (เปลี่ยนการตั้งค่าโพลิซีในส่วนเดียวกัน: Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment -> Allow log on through Remote Desktop Services)
คำเตือน หากคุณเปลี่ยน Default Domain Controllers Policy อย่าลืมเพิ่มกลุ่ม Domain/Enterprise Admins เข้าไปในโพลิซี Allow log on through Remote Desktop Services มิฉะนั้นพวกเขาจะสูญเสียการเข้าถึงระยะไกลไปยัง DCs

ตอนนี้ผู้ใช้ (กลุ่ม) ที่คุณเพิ่มเข้าไปในโพลิซีจะสามารถเชื่อมต่อกับ AD Domain Controllers ผ่าน RDP ได้แล้ว
หากคุณต้องการมอบสิทธิ์ให้ผู้ใช้ที่ไม่ใช่แอดมินสามารถเริ่ม/หยุดบริการบางอย่างบน DC ให้ใช้คู่มือต่อไปนี้
The Requested RDP Session Access is Denied
ในบางกรณี เมื่อเชื่อมต่อผ่าน RDP ไปยัง Domain Controller อาจเกิดข้อผิดพลาด:
The requested session access is denied.

หากคุณเชื่อมต่อกับ DC ภายใต้บัญชีผู้ใช้ที่ไม่ใช่แอดมิน สาเหตุอาจมาจาก 2 ปัญหา:
- คุณกำลังพยายามเชื่อมต่อกับคอนโซลเซิร์ฟเวอร์ (โดยใช้โหมด
mstsc /admin) โหมดการเชื่อมต่อนี้อนุญาตเฉพาะแอดมินเท่านั้น ลองเชื่อมต่อกับเซิร์ฟเวอร์โดยใช้ไคลเอ็นต์ mstsc.exe ในโหมด RDP ปกติ (โดยไม่มีตัวเลือก/admin); - เซิร์ฟเวอร์อาจมีเซสชัน RDP ที่ใช้งานอยู่แล้ว 2 เซสชัน (ตามค่าเริ่มต้น ไม่สามารถใช้งานเซสชัน RDP พร้อมกันได้มากกว่า 2 เซสชันบน Windows Server โดยไม่มีบทบาท RDS) คุณไม่สามารถออกจากระบบผู้ใช้อื่นได้หากไม่มีสิทธิ์แอดมิน คุณต้องรอให้ผู้ดูแลระบบปล่อยเซสชันหนึ่งออกไป