จริงๆแล้วมีหลายฟังก์ชั่นที่เกี่ยวข้องกับ / API แม้ว่ามันจะยาว แต่จริงๆแล้วมันเป็นการอ่าน Active Directory ที่น่าสนใจมากกว่า
ไม่คำนึงถึงคำอธิบายด้านล่างมีสองสิ่งที่คุณต้องระวัง:
ถ้า DC ในไซต์ท้องถิ่นไม่ตอบสนองด้วยเหตุผลใดก็ตามคาดว่าไคลเอนต์จะติดต่อตัวควบคุมโดเมนใด ๆ ในโดเมน นี่เป็นเรื่องปกติและเป็นพฤติกรรมเริ่มต้นเสมอ บางครั้งมันไม่ชัดเจนว่าทำไมมันเกิดขึ้น
นั่นอาจเป็นสิ่งที่ไม่ดี พิจารณาสถานการณ์ต่อไปนี้: สามไซต์: นิวยอร์กซิตี้ (ฮับ / ดาต้า - เร็ว), ลอสแองเจลิส (พูดกับ NYC - เร็ว) และคาซัคสถาน (พูดกับนิวยอร์ค - ไม่เร็วอย่างแน่นอน) หากลูกค้าของคุณในเว็บไซต์ LA ไม่สามารถติดต่อกับ DC ในพื้นที่ได้ไม่ว่าจะด้วยเหตุผลใดก็ตามก็ไม่น่าเชื่อว่าจะรับรองความถูกต้องกับคาซัคสถาน
มีวิธีแก้ปัญหาสองสามข้อ คุณสามารถทำอย่างใดอย่างหนึ่งหรือทั้งสอง
Microsoft สร้างการตั้งค่านโยบายกลุ่ม / รีจิสตรีชื่อ aptly TryNextClosestSite นั่นหมายความว่าลูกค้าแอลเอควรลอง NYC ก่อนโรมมิ่งดาวเคราะห์มองหา DC ยอดเยี่ยม! ใช้เวลาแปดปี แต่ในที่สุดเราก็ได้รับกับ Vista / 2008 จำไว้ว่าไม่ได้เปิดใช้งานโดยค่าเริ่มต้นคุณต้องสร้าง GPO เพื่อเปิดใช้งานสิ่งนี้
สำหรับไซต์ที่มีการพูดที่คุณไม่ต้องการให้ DC ให้บริการลูกค้าในไซต์อื่นคุณสามารถสร้างการตั้งค่านโยบายกลุ่ม / รีจิสตรีที่ระบุว่าระเบียน DNS ใดที่ไม่ควรลงทะเบียน สิ่งนี้เรียกว่า DNS Mnemonics
การค้นหาตัวควบคุมโดเมนในไซต์ที่ใกล้ที่สุด (DsGetSiteName API)
http://technet.microsoft.com/en-us/library/cc978016.aspx
การจับคู่ที่อยู่ IP กับชื่อไซต์
"ในระหว่างการเริ่มต้น Net Logon บริการ Net Logon ในแต่ละโดเมนคอนโทรลเลอร์จะระบุวัตถุของไซต์ในคอนเทนเนอร์ของการกำหนดค่านอกจากนี้ Net Logon ในแต่ละโดเมนคอนโทรลเลอร์ยังได้รับแจ้งถึงการเปลี่ยนแปลงใด ๆ ที่เกิดขึ้นกับออบเจกต์ของไซต์ด้วย โครงสร้างในหน่วยความจำที่ใช้ในการแมปที่อยู่ IP กับชื่อไซต์
"เมื่อไคลเอนต์ที่กำลังค้นหาตัวควบคุมโดเมนได้รับรายการของที่อยู่ IP ของตัวควบคุมโดเมนจาก DNS ไคลเอนต์เริ่มสอบถามตัวควบคุมโดเมนในการค้นหาตัวควบคุมโดเมนที่พร้อมใช้งานและเหมาะสม Active Directory สกัดกั้นแบบสอบถามซึ่งประกอบด้วย ที่อยู่ IP ของลูกค้าและส่งต่อไปที่ Net Logon บนตัวควบคุมโดเมน Net Logon ค้นหาที่อยู่ IP ของลูกค้าในตารางการจับคู่ subnet-to-site โดยค้นหาวัตถุ subnet ที่ตรงกับที่อยู่ IP ของลูกค้ามากที่สุดแล้ว ส่งคืนข้อมูลต่อไปนี้:
ชื่อของเว็บไซต์ที่ลูกค้าตั้งอยู่หรือเว็บไซต์ที่ตรงกับที่อยู่ IP ของลูกค้ามากที่สุด
ชื่อของไซต์ที่มีตัวควบคุมโดเมนปัจจุบันอยู่
บิตที่ระบุว่าตัวควบคุมโดเมนที่พบนั้นอยู่ (ตั้งค่าบิต) หรือไม่อยู่ (ไม่ได้ตั้งค่าบิต) ในไซต์ที่อยู่ใกล้กับไคลเอ็นต์มากที่สุด
"ตัวควบคุมโดเมนส่งคืนข้อมูลไปยังไคลเอนต์การตอบสนองยังประกอบด้วยข้อมูลอื่น ๆ อีกมากมายที่อธิบายตัวควบคุมโดเมนไคลเอ็นต์ตรวจสอบข้อมูลเพื่อพิจารณาว่าจะพยายามค้นหาตัวควบคุมโดเมนที่ดีขึ้นหรือไม่การตัดสินใจทำดังนี้:
"ถ้าตัวควบคุมโดเมนที่ส่งคืนอยู่ในไซต์ที่ใกล้เคียงที่สุด (ตั้งบิตที่ส่งคืน) ไคลเอนต์ใช้ตัวควบคุมโดเมนนี้
"ถ้าไคลเอนต์ได้พยายามค้นหาตัวควบคุมโดเมนในไซต์ที่ตัวควบคุมโดเมนอ้างว่าไคลเอนต์นั้นอยู่แล้วไคลเอ็นต์จะใช้ตัวควบคุมโดเมนนี้
"ถ้าตัวควบคุมโดเมนไม่ได้อยู่ในไซต์ที่อยู่ใกล้ที่สุดไคลเอนต์จะอัปเดตข้อมูลไซต์และส่งการสืบค้น DNS ใหม่เพื่อค้นหาตัวควบคุมโดเมนใหม่ในไซต์หากการค้นหาครั้งที่สองประสบความสำเร็จตัวควบคุมโดเมนใหม่จะถูกใช้หาก แบบสอบถามที่สองล้มเหลวใช้ตัวควบคุมโดเมนดั้งเดิม
"หากโดเมนที่ถูกสอบถามโดยคอมพิวเตอร์เป็นโดเมนเดียวกับคอมพิวเตอร์ที่เข้าร่วมไซต์ที่คอมพิวเตอร์อยู่ (ตามที่รายงานโดยตัวควบคุมโดเมน) จะถูกเก็บไว้ในรีจิสทรีของคอมพิวเตอร์ไคลเอนต์จะเก็บข้อมูลนี้ ชื่อไซต์ในรายการรีจิสทรี DynamicSiteName ใน HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Netlogon \ Parameters ดังนั้น DsGetSiteName API จะส่งคืนไซต์ที่คอมพิวเตอร์ตั้งอยู่ "
ฟังก์ชัน DsGetDcName
http://msdn.microsoft.com/en-us/library/ms675983%28VS.85%29.aspx
ประเภทของตัวระบุตำแหน่ง
http://technet.microsoft.com/en-us/library/cc978019.aspx
ฟังก์ชันบริการไดเรกทอรี
http://technet.microsoft.com/en-us/subscriptions/ms675900%28v=vs.85%29.aspx
การสนับสนุน DNS สำหรับ Active Directory ทำงานอย่างไร
http://technet.microsoft.com/en-us/library/cc759550%28v=ws.10%29.aspx
วิธีเพิ่มประสิทธิภาพตำแหน่งที่ตั้งของตัวควบคุมโดเมนที่อยู่ภายนอกไซต์ของไคลเอ็นต์
http://support.microsoft.com/kb/306602