ฉันจะหาชื่อ / ที่อยู่ IP ของตัวควบคุมโดเมนโฆษณาบนเครือข่ายของฉันได้อย่างไร
ฉันจะหาชื่อ / ที่อยู่ IP ของตัวควบคุมโดเมนโฆษณาบนเครือข่ายของฉันได้อย่างไร
คำตอบ:
บนคอมพิวเตอร์ทุกเครื่องที่มี DNS ที่กำหนดค่าให้ใช้เซิร์ฟเวอร์ DNS ของ AD:
เริ่ม -> Run -> nslookup
set type=all
_ldap._tcp.dc._msdcs.DOMAIN_NAME
แทนที่DOMAIN_NAMEกับชื่อโดเมนจริงเช่นexample.com อ่านเพิ่มเติมที่นี่
_ldap._tcp.dc._msdcs.UnKnown
ฉันวิ่งนี้และมี อะไรที่ไม่รู้จักความหมายว่าอย่างไร
สำหรับคอมพิวเตอร์ที่เป็นสมาชิกของโดเมนนั้นตัวแปรสภาพแวดล้อม LOGONSERVER ประกอบด้วยชื่อของ DC ที่รับรองความถูกต้องของผู้ใช้ปัจจุบัน เห็นได้ชัดว่านี่จะไม่เป็น DC ทั้งหมดในสภาพแวดล้อมแบบ multi-DC แต่ถ้าคุณต้องการเป็นวิธีที่รวดเร็วในการค้นหาชื่อของ Domain Controller จากนั้นจาก command shell:
set l <enter>
จะส่งกลับตัวแปรสภาพแวดล้อมทั้งหมดที่ขึ้นต้นด้วย "L" รวมถึงชื่อของ DC
ตัวเลือกที่ไม่ได้กล่าวถึงง่ายสุดและรวดเร็วคือการเรียกใช้จากพรอมต์คำสั่ง:
nltest /dclist:domainname
เพียงแทนที่ 'domainname' ด้วยโดเมนของคุณ
คุณยังสามารถเรียกใช้ตัวเลือกอื่น ๆ เพื่อค้นหาเพิ่มเติม:
/dcname:domainname
รับชื่อ PDC สำหรับโดเมนที่
/dsgetdc:domainname
มีธงสำหรับข้อมูลอื่น ๆ
ลองใช้nltest /?
พรอมต์เพื่อรับตัวเลือกเพิ่มเติม! :)
C:\> nltest /dclist:domainname Cannot find DC to get DC list from.Status = 1355 0x54b ERROR_NO_SUCH_DOMAIN The command completed successfully
นั่นหมายความว่าอย่างไร?
สิ่งนี้จะส่งคืน Domain Controller ที่ใกล้ที่สุดของคุณใน Powershell:
Import-Module ActiveDirectory
(Get-ADDomainController -DomainName <Domain FQDN> -Discover -NextClosestSite).HostName
gpresult
จากคำสั่งเรียก คุณจะได้รับ:
นี่คือการส่งออกตัวอย่างของการทำงาน gpresult
นอกจากนี้คุณยังสามารถระบุgpresult /z
เพื่อรับข้อมูลรายละเอียดเพิ่มเติม
gpresult /Z
ส่งออกข้อมูลจำนวนมาก ขอบคุณ
DNS และ DHCP เป็นวิธีที่ดีที่สุดในการตรวจสอบเนื่องจากอาจมีเครื่อง Unix / Linux บนเครือข่ายที่จัดการโดยตัวควบคุมโดเมน AD หรือทำหน้าที่เป็นตัวควบคุมโดเมน
นอกจากนี้เมื่อพิจารณาถึงไดเรกทอรีที่ใช้งานอยู่จะไม่มีอะไรมากไปกว่า Kerberos, LDAP, dhcp และ dns ของ Microsoft มันจะเป็นการดีกว่าที่จะเข้าใจและแก้ไขข้อบกพร่องในเลเยอร์ที่ต่ำกว่าเลเยอร์ 7+ นี่เป็นเพราะระบบปฏิบัติการจะ preform คำขอเดียวกันเหล่านี้และ RFC ที่ขีดเส้นใต้สำหรับแต่ละโปรโตคอลทำงานจริงในระดับ OSI ไม่ใช่ระดับ "เครื่องมือแทรกรายการโปรดที่นี่"
หนึ่งสามารถไปอีกขั้นและสอบถาม DHCP สำหรับตัวเลือก 6, 15, และ 44 ที่จะได้รับชื่อโดเมน , เซิร์ฟเวอร์ชื่อโดเมนและชนะ / NetBIOS ชื่อเซิร์ฟเวอร์
จากนั้นใช้ dns เพื่อตรวจสอบ _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs และ _ldap._tcp ระเบียน SRV:
nslookup -type=srv _kerberos._tcp.EXMAPLE.COM
nslookup -type=srv _kpasswd._tcp.EXAMPLE.COM
nslookup -type=srv _ldap._tcp.EXAMPLE.COM
nslookup -type=srv _ldap._tcp.dc._msdcs.EXAMPLE.COM
.EXAMPLE.COM ::= value returned from dhcp option-1
สิ่งนี้แบ่งออกเป็นสามส่วนส่วนที่สองคือโปรโตคอล DNS-SD ที่รองรับบันทึก:
_kerberos._tcp
และ_kpasswd._tcp
(ภายใต้ UNIX / Linux / OSX + บางเครือข่าย windows มี_kadmin._tcp
) สำหรับ kerberos_ldap._tcp
ใช้สำหรับ ldap (ไดเร็กทอรี openldap, opendc, sun / oracle, ms ad)
_LDAP._TCP.dc._msdcs
เป็นส่วนขยายของ Microsoft เท่านั้นที่เป็น ldap เพื่อแมปตัวควบคุมโดเมนบันทึกเป็นGetDcNames.cmd
:
nslookup -type=any %userdnsdomain%.
เรียกใช้เป็น: GetDcNames.cmd
.
(หมายเหตุ: จุดต่อท้ายใน "% userdnsdomain%." มีจุดประสงค์มันหยุด nslookup ในพื้นที่ของคุณจากการใช้สตริงเส้นทางการค้นหา DNS ใด ๆ )
ฉันตีไฟล์แบตช์ที่รวดเร็วและสกปรกเพื่อที่ฉันจะได้ไม่ต้องจำชื่อโดเมน DNS และ / หรือต้องพิมพ์ให้หมด (รายการอาจไม่สมบูรณ์)
ทำงานได้จากเครื่องจักรที่เข้าร่วมโดเมน หากเครื่องของคุณไม่ได้เข้าร่วมกับโดเมนคุณต้องตั้งค่า USERDNSDOMAIN ด้วยตนเองเป็นสิ่งที่คุณต้องการ
บันทึกเป็นTestAdDnsRecords.cmd
:
@setlocal
@REM Test AD DNS domains for presence.
@REM For details see: http://serverfault.com/a/811622/253701
nslookup -type=srv _kerberos._tcp.%userdnsdomain%.
nslookup -type=srv _kerberos._udp.%userdnsdomain%.
@echo .
nslookup -type=srv _kpasswd._tcp.%userdnsdomain%.
nslookup -type=srv _kpasswd._udp.%userdnsdomain%.
@echo .
nslookup -type=srv _ldap._tcp.%userdnsdomain%.
@echo .
nslookup -type=srv _ldap._tcp.dc._msdcs.%userdnsdomain%.
@echo .
nslookup -type=srv _ldap._tcp.pdc._msdcs.%userdnsdomain%.
@echo .
@REM Those next few lines here are forest specific:
@REM Change the next line your current domain is not also the forest root.
@SET "DNSFORESTNAME=%USERDNSDOMAIN%"
nslookup -type=srv _ldap._tcp.gc._msdcs.%DNSFORESTNAME%.
@echo .
nslookup -type=srv _gc._tcp.%DNSFORESTNAME%.
TestAdDnsRecords.cmd | more
ทำงานเป็น มีเอาต์พุตข้อความจำนวนมาก