it-swarm-vi.tech

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

Làm cách nào tôi có thể tìm ra tên/địa chỉ IP của bộ điều khiển miền AD trên mạng của mình?

131
user18682

Trên mọi máy tính, 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 tại đây .

150
blank3

Đối với máy tính là thành viên của 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ả 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ừ lệnh Shell:

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.

66
Helvick

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

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:domainname lấy tên PDC cho tên miền /dsgetdc:domainname có cờ cho thông tin khác

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

40
Abraxas

Đ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
21
Mark Henderson

Từ một lệnh Nhắc, 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ính và người dùng : [.__.]
    • Tên phân biệt trong AD và which DC 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

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

17
ErikE

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 Active Directory 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ể tiến thêm một bước và truy vấn dhcp cho các tùy chọn 6, 15 và 44 để lấy tên miền , máy chủ tên miềnThắ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 thuộc UNIX/Linux/OSX + một số mạng windows có _kadmin._tcp) dành cho kerberos
  • _ldap._tcp dành cho ldap (openldap, opendc, thư mục Sun/Oracle, quảng cáo ms) _LDAP._TCP.dc._msdcs là phần mở rộng duy nhất của Microsoft cho ldap để ánh xạ bộ điều khiển miền.
10
Dwight Spencer

CMD thô

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

Lưu thành GetDcNames.cmd:

nslookup -type=any %userdnsdomain%.

Chạy như: GetDcNames.cmd.

(Lưu ý: Dấu chấm trong "% 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 thành 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 đầu ra văn bản.

Nguồn

2
StackzOfZtuff