Tìm tên của bộ điều khiển miền Active Directory


Câu trả lời:


147

Trên bất kỳ máy tính nào có DNS được cấu hình để sử dụng máy chủ DNS của AD sẽ:

  • Bắt đầu -> Chạy -> nslookup

    set type=all
    _ldap._tcp.dc._msdcs.DOMAIN_NAME
    

Thay thế DOMAIN_NAME bằng tên miền thực tế, ví dụ example.com . Đọc thêm ở đây .


Trong câu trả lời ở trên, nhập set type = all (trong nslookup) cho phép bạn xem bản ghi DNS SRV. Bạn cũng có thể đã gõ "set type = SRV", các bản ghi SRV là cách AD quảng cáo chính nó trên mạng
Les

Tôi chạy cái này và có _ldap._tcp.dc._msdcs.UnKnown. Không gì chưa biết nghĩa là gì?
jp2code

64

Đối với một máy tính là thành viên của một miền, Biến môi trường LOGONSERVER chứa tên của DC đã xác thực người dùng hiện tại. Đây rõ ràng sẽ không phải là tất cả các DC trong môi trường nhiều DC nhưng nếu tất cả những gì bạn muốn là một cách nhanh chóng để tìm tên của Bộ điều khiển miền thì từ vỏ lệnh:

set l <enter>

Sẽ trả về tất cả các biến Môi trường bắt đầu bằng "L" bao gồm tên của một DC.


5
+1 cho đơn giản. Sau khi có được tên của DC, chỉ cần ping nó để lấy IP.
Bigbio2002

2
đơn giản là có, nhưng nếu bạn có kết nối VPN với mạng mà bạn quan tâm, LOGONSERVER sẽ không cung cấp cho bạn điều đó. Câu trả lời được chấp nhận sẽ cung cấp cho bạn đúng máy chủ trong mọi trường hợp tôi có thể nghĩ ra.
Les

1
Nó không hoàn hảo, nhưng đôi khi cũng rất quan trọng để biết cách làm điều gì đó đủ tốt một cách nhanh chóng. Nó cũng thất bại đối với đăng nhập cục bộ nhưng tôi chưa bao giờ kiểm tra nó qua VPN, rất tốt để biết, cảm ơn.
Helvick

35

Một tùy chọn chưa được đề cập, siêu dễ dàng và nhanh chóng là chạy nó từ một dấu nhắc lệnh:

nltest /dclist:domainname

Chỉ cần thay thế 'tên miền' bằng tên miền của bạn

Bạn cũng có thể chạy một số tùy chọn khác để tìm hiểu thêm:

/dcname:domainnamelấy tên PDC cho tên miền /dsgetdc:domainnamecó cờ cho thông tin khác

Hãy thử nltest /?trong lời nhắc của bạn để có thêm tùy chọn! :)


C:\> nltest /dclist:domainname Cannot find DC to get DC list from.Status = 1355 0x54b ERROR_NO_SUCH_DOMAIN The command completed successfully Điều đó nghĩa là gì?
jp2code

1
Thay thế tên miền bằng tên miền của bạn
Abraxas

Oh. Đó là những gì tôi nghĩ rằng điều này sẽ tìm thấy cho tôi.
jp2code

Điều này cực kỳ hữu ích đối với tôi vì [Bash # host -t srv _ldap._tcp.MYCOMPANY] cho biết tên miền không tìm thấy. [CMD: \> nltest / dclist: MYCOMPANY] đã nói với tôi rằng tên miền là corp.ad.mycompany.com, và sau đó tôi có thể sử dụng thông tin đó để làm cho các lệnh khác hoạt động. [Bash # host -t srv _ldap._tcp.corp.ad.mycompany.com] sau đó đã hoạt động
neokyle

21

Điều này sẽ trả về Bộ điều khiển miền gần nhất của bạn trong Powershell:

Import-Module ActiveDirectory
(Get-ADDomainController -DomainName <Domain FQDN> -Discover -NextClosestSite).HostName

17

Từ một dấu nhắc lệnh, chạy gpresult. Bạn sẽ nhận được:

  • Thông tin máy trạm và tên miền chung
  • Đối với cả máy tínhngười dùng :
    • Tên phân biệt trong AD và DC mà chính sách đã được áp dụng từ
    • Đối tượng chính sách nhóm ứng dụng
    • Danh sách các nhóm bảo mật là thành viên của

Dưới đây là ví dụ đầu ra của việc chạygpresult . Bạn cũng có thể chỉ định gpresult /zđể có được thông tin chi tiết hơn.


5
Wow, gpresult /Zxuất ra rất nhiều dữ liệu. Cảm ơn.
Friederbluemle

10

DNS và DHCP là cách tốt nhất để kiểm tra vì có thể có các máy Unix / Linux trên mạng được quản lý bởi bộ điều khiển miền AD hoặc đóng vai trò là bộ điều khiển miền.

Thêm vào đó, xem xét thư mục hoạt động không gì khác hơn là phiên bản Kerberos, LDAP, dhcp và dns của Microsoft. Sẽ tốt hơn để hiểu và gỡ lỗi mọi thứ ở các lớp thấp hơn lớp 7+. Điều này là do hệ điều hành sẽ tạo ra các yêu cầu tương tự và RFC gạch chân cho mỗi giao thức thực sự hoạt động ở cấp độ OSI chứ không phải ở cấp độ "chèn công cụ yêu thích ở đây".

Người ta có thể đi một bước xa hơn và truy vấn DHCP cho các tùy chọn 6, 15, và 44 để có được tên miền , tên miền máy chủ , và Thắng / NetBIOS tên máy chủ .

Sau đó, sử dụng dns để kiểm tra các bản ghi SRV _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs và _ldap._tcp:

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

Điều này được chia thành ba khu vực, hai là các bản ghi DNS-SD được hỗ trợ giao thức:

  • _kerberos._tcp_kpasswd._tcp(cũng theo UNIX / Linux / OSX + một số mạng windows có _kadmin._tcp) dành cho kerberos
  • _ldap._tcpdành cho ldap (thư mục openldap, opendc, sun / oracle, ms ad) _LDAP._TCP.dc._msdcslà phần mở rộng duy nhất của Microsoft cho ldap để ánh xạ bộ điều khiển miền.

2

CMD thô

Chỉ cần tìm tên DC

Lưu dưới dạng GetDcNames.cmd:

nslookup -type=any %userdnsdomain%.

Chạy như : GetDcNames.cmd.

(Lưu ý: Dấu chấm ở "% userdnsdomain%." Có chủ đích. Nó ngăn nslookup cục bộ của bạn sử dụng bất kỳ chuỗi đường dẫn tìm kiếm DNS nào.)

Tìm thêm tên miền DNS liên quan đến AD

Tôi đã đánh cắp một tệp bó nhanh và bẩn, để tôi không phải nhớ tên miền DNS và / hoặc phải nhập tất cả chúng. (Danh sách có thể không đầy đủ.)

Hoạt động từ máy gia nhập miền. Nếu máy của bạn không được gia nhập miền, thì bạn phải đặt thủ công USERDNSDOMAIN theo cách bạn muốn.

Lưu dưới dạng 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%.

Chạy như TestAdDnsRecords.cmd | more. Có rất nhiều văn bản đầu ra.

Nguồn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.