Temukan nama pengontrol domain Direktori Aktif

Jawaban:

147

Di komputer mana pun, yang memiliki DNS yang dikonfigurasi untuk menggunakan server DNS AD lakukan:

  • Mulai -> Jalankan -> nslookup

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

Ganti DOMAIN_NAME dengan nama domain sebenarnya, misalnya example.com . Baca lebih lanjut di sini .

blank3
sumber
Dalam jawaban di atas, memasukkan set type = all (di nslookup) memungkinkan Anda untuk melihat catatan DNS SRV. Anda juga bisa mengetik "set type = SRV", catatan SRV adalah bagaimana AD mengiklankan dirinya di jaringan
Les
Saya menjalankan ini dan mendapatkannya _ldap._tcp.dc._msdcs.UnKnown. Apa artinya UnKnown ?
jp2code
64

Untuk komputer yang merupakan anggota domain, Environment Variable LOGONSERVER berisi nama DC yang mengautentikasi pengguna saat ini. Ini jelas tidak akan menjadi semua DC di lingkungan multi-DC tetapi jika semua yang Anda inginkan adalah cara cepat untuk menemukan nama Pengontrol Domain, maka dari shell perintah:

set l <enter>

Akan mengembalikan semua variabel Lingkungan yang dimulai dengan "L" termasuk nama DC.

Helvick
sumber
5
+1 untuk kesederhanaan. Setelah mendapatkan nama DC, cukup ping untuk mendapatkan IP.
Bigbio2002
2
sederhana ya, tetapi jika Anda memiliki koneksi VPN ke jaringan yang Anda minati, LOGONSERVER tidak memberi Anda itu. Jawaban yang diterima akan memberi Anda server yang tepat dalam semua kasus yang dapat saya pikirkan.
Les
1
Ini tidak sempurna, tetapi terkadang penting juga untuk mengetahui bagaimana melakukan sesuatu yang cukup cepat. Itu juga gagal untuk login lokal tapi saya tidak pernah memeriksanya melalui VPN, baik untuk tahu, terima kasih.
Helvick
35

Opsi yang tidak disebutkan, super mudah, dan cepat adalah menjalankan ini dari command prompt:

nltest /dclist:domainname

Cukup ganti 'domainname' dengan domain Anda

Anda juga dapat menjalankan beberapa opsi lain untuk mencari tahu lebih lanjut:

/dcname:domainnamemendapatkan nama PDC untuk domain /dsgetdc:domainnamememiliki bendera untuk informasi lainnya

Coba nltest /?pada prompt Anda untuk mendapatkan lebih banyak opsi! :)

Abraxas
sumber
C:\> nltest /dclist:domainname Cannot find DC to get DC list from.Status = 1355 0x54b ERROR_NO_SUCH_DOMAIN The command completed successfully Apa artinya?
jp2code
1
Ganti domainname dengan nama domain Anda
Abraxas
Oh Itulah yang saya pikir ini akan temukan untuk saya.
jp2code
Ini sangat berguna bagi saya karena [Bash # host -t srv _ldap._tcp.MYCOMPANY] mengatakan domain tidak ditemukan. [CMD: \> nltest / dclist: MYCOMPANY] memberi tahu saya bahwa nama domainnya adalah corp.ad.mycompany.com, dan kemudian saya dapat menggunakan info itu untuk membuat perintah lain berfungsi. [Bash # host -t srv _ldap._tcp.corp.ad.mycompany.com] lalu bekerja
neokyle
21

Ini akan mengembalikan Domain Controller terdekat Anda di Powershell:

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

Dari prompt perintah, jalankan gpresult. Kamu akan mendapatkan:

  • Informasi workstation dan domain umum
  • Untuk komputer dan pengguna :
    • Nama terhormat dalam AD dan dari DC mana kebijakan itu diterapkan
    • Objek Kebijakan Grup yang diterapkan
    • Daftar grup keamanan anggota

Berikut ini contoh output dari runninggpresult . Anda juga dapat menentukan gpresult /zuntuk mendapatkan informasi lebih rinci.

ErikE
sumber
5
Wow, gpresult /Zmenghasilkan BANYAK data. Terima kasih.
friederbluemle
10

DNS dan DHCP adalah cara terbaik untuk memeriksa karena mungkin ada mesin Unix / Linux di jaringan yang dikelola oleh pengontrol domain AD atau bertindak sebagai pengontrol domain.

Plus, mempertimbangkan direktori aktif tidak lebih dari versi Microsoft Kerberos, LDAP, dhcp dan dns. Akan lebih baik untuk memahami dan men-debug hal-hal di lapisan bawah daripada lapisan 7+. Ini karena sistem operasi akan membentuk permintaan yang sama dan RFC yang digarisbawahi untuk masing-masing protokol sebenarnya beroperasi pada tingkat OSI bukan pada tingkat "sisipkan alat favorit di sini".

Satu dapat melangkah lebih jauh dan query dhcp untuk pilihan 6, 15, dan 44 untuk mendapatkan nama domain , server nama domain , dan Wins / NetBIOS name server .

Kemudian gunakan dns untuk memeriksa _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs, dan _ldap._tcp catatan 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

Ini dipecah menjadi tiga area, dua adalah protokol yang didukung catatan DNS-SD:

  • _kerberos._tcpdan _kpasswd._tcp(juga di bawah UNIX / Linux / OSX + beberapa jaringan windows _kadmin._tcp) untuk kerberos
  • _ldap._tcpadalah untuk ldap (openldap, opendc, direktori sun / oracle, ms ad) _LDAP._TCP.dc._msdcsadalah ekstensi hanya Microsoft untuk ldap untuk memetakan pengontrol domain.
Dwight Spencer
sumber
2

CMD mentah

Temukan saja nama-nama DC

Simpan sebagai GetDcNames.cmd:

nslookup -type=any %userdnsdomain%.

Jalankan sebagai: GetDcNames.cmd.

(Catatan: Trailing dot di "% userdnsdomain%." Sengaja. Menghentikan nslookup lokal Anda menggunakan string jalur pencarian DNS apa pun.)

Temukan lebih banyak domain DNS terkait AD

Saya menyiapkan file batch cepat dan kotor, sehingga saya tidak perlu mengingat nama domain DNS dan / atau harus mengetik semuanya. (Daftar mungkin tidak lengkap.)

Bekerja dari mesin yang bergabung dengan domain. Jika mesin Anda tidak bergabung dengan domain, maka Anda harus secara manual mengatur USERDNSDOMAIN sesuai keinginan Anda.

Simpan sebagai 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%.

Jalankan sebagai TestAdDnsRecords.cmd | more. Ada banyak output teks.

Sumber

StackzOfZtuff
sumber