Active Directory etki alanı denetleyicisinin adını bulun


Yanıtlar:


147

Herhangi bir bilgisayarda, AD'nin DNS sunucusunu kullanacak şekilde yapılandırılmış bir DNS vardır:

  • Başlat -> Çalıştır -> nslookup

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

DOMAIN_NAME alanını asıl alan adıyla değiştirin , örneğin example.com . Daha fazlasını buradan okuyun .


Yukarıdaki cevapta set type = all (nslookup içinde) girilmesi DNS SRV kayıtlarını görmenizi sağlar. Ayrıca "set type = SRV" yazmış olabilirsiniz, SRV kayıtları, AD'nin ağda kendisini nasıl tanıttığıdır
Les

Bunu koştum ve anladım _ldap._tcp.dc._msdcs.UnKnown. Ne geliyor Bilinmeyen demek?
jp2code

64

Bir etki alanının üyesi olan bir bilgisayar için Ortam Değişkeni LOGONSERVER, geçerli kullanıcının kimliğini doğrulayan DC adını içerir. Bu açık bir şekilde bir çok DC ortamındaki tüm DC'ler olmayacak, ancak tek istediğiniz bir etki alanı denetleyicisinin adını bir komut kabuğundan bulmanın hızlı bir yoluysa:

set l <enter>

Bir DC'nin adı da dahil olmak üzere "L" ile başlayan tüm Ortam değişkenlerini döndürür.


5
Sadelik için +1. DC adını aldıktan sonra, sadece IP almak için ping atın.
Bigbio2002

2
basit evet, ancak ilgilendiğiniz şebekeye VPN bağlantınız varsa, LOGONSERVER bunu size vermez. Kabul edilen cevap, düşünebildiğim her durumda size doğru sunucuyu verecektir.
Les,

1
Mükemmel değil, ama bazen yeterince hızlı bir şekilde iyi bir şey yapmayı bilmek de önemlidir. Yerel oturumlar için de başarısız oluyor, ancak VPN üzerinden hiç kontrol etmedim, bunu bilmek güzel, teşekkürler.
Helvick,

35

Bahsedilen, süper kolay ve hızlı bir seçenek bunu komut isteminden çalıştırmaktır:

nltest /dclist:domainname

'Domainname' yerine alan adınızla değiştirin.

Daha fazla bilgi edinmek için başka seçenekler de çalıştırabilirsiniz:

/dcname:domainnameetki alanı için PDC adını alır /dsgetdc:domainnameDiğer bilgiler için bayraklara sahiptir

Daha nltest /?fazla seçenek almak için istemi deneyin ! :)


C:\> nltest /dclist:domainname Cannot find DC to get DC list from.Status = 1355 0x54b ERROR_NO_SUCH_DOMAIN The command completed successfully Bu ne anlama geliyor?
jp2code

1
Alan adını alan adınızla değiştirin
Abraxas

Ah. Bunun benim için bulacağını düşündüm.
jp2code

Bu benim için çok faydalı oldu çünkü [Bash # host -t srv _ldap._tcp.MYCOMPANY] alan adı bulunamadı dedi. [CMD: \> nltest / dclist: MYCOMPANY], etki alanı adının corp.ad.mycompany.com olduğunu söyledi ve bu bilgiyi diğer komutları çalıştırmak için de kullanabildim. [Bash # host -t srv _ldap._tcp.corp.ad.mycompany.com] sonra çalıştı
neokyle

21

Bu, Powershell'deki en yakın Etki Alanı Denetleyicinizi döndürecektir:

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

17

Komut isteminden, çalıştırın gpresult. Alacaksın:

  • Genel iş istasyonu ve etki alanı bilgisi
  • Hem bilgisayar hem de kullanıcı için :
    • AD’deki ayırt edici ad ve politikanın hangi DC’den uygulandığı
    • Uygulanan Grup İlkesi nesneleri
    • Üyesi olan güvenlik grupları listesi

İşte çalışan örnek çıktıgpresult . gpresult /zDaha ayrıntılı bilgi almak için de belirtebilirsiniz .


5
Vay, gpresult /ZLOT veri çıktısı. Teşekkürler.
friederbluemle

10

DNS ve DHCP, AD etki alanı denetleyicisi tarafından yönetilen veya etki alanı denetleyicisi olarak işlev gören ağda Unix / Linux makineleri olabileceğinden, denetlemenin en iyi yoludur.

Ayrıca, aktif dizin dikkate alındığında Microsoft'un Kerberos, LDAP, dhcp ve dns sürümlerinden başka bir şey yoktur. Alt katmanlardaki şeyleri katman 7 + 'dan daha iyi anlamak ve hata ayıklamak daha iyi olacaktır. Bunun nedeni, işletim sisteminin aynı istekleri önceden yapması ve her protokol için altta yatan RFC'nin aslında "buraya en sevdiğiniz aracı ekle" düzeyinde değil, bir OSI düzeyinde çalışmasıdır.

Bir adım daha ileri gidebilir ve etki alanı adını , etki alanı adı sunucusunu ve Wins / NetBIOS ad sunucusunu almak için dhcp'yi 6, 15 ve 44 seçenekleri için sorgulayabilirsiniz .

Ardından _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs ve _ldap._tcp SRV kayıtlarını kontrol etmek için dns kullanın:

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

Bu üç alana ayrılır, ikisi protokol destekli DNS-SD kayıtlarıdır:

  • _kerberos._tcpve _kpasswd._tcp(ayrıca UNIX / Linux / OSX + altında bazı Windows ağlarında vardır _kadmin._tcp) kerberoslar içindir.
  • _ldap._tcpldap içindir (openldap, opendc, sun / oracle dizini, ms ad) _LDAP._TCP.dc._msdcs, etki alanı denetleyicisini eşlemek için ldap için yalnızca Microsoft uzantısıdır.

2

Ham CMD

Sadece DC isimlerini bul

Farklı kaydet GetDcNames.cmd:

nslookup -type=any %userdnsdomain%.

Olarak çalıştırın: GetDcNames.cmd.

(Not: "% userdnsdomain%." İçindeki son nokta kasıtlı olarak çalışıyor. Yerel nslookup cihazınızın herhangi bir DNS arama yolu dizesini kullanmasını engeller.)

Daha fazla AD ile ilişkili DNS alanı bulun

DNS etki alanı adlarını hatırlamama gerek kalmadan ve / veya hepsini yazmak zorunda kalmamam için hızlı ve kirli bir toplu iş dosyası hazırladım. (Liste tam olmayabilir.)

Etki alanına katılan makinelerden çalışır. Makineniz etki alanına katılmamışsa, USERDNSDOMAIN öğesini istediğiniz şekilde el ile ayarlamanız gerekir.

Farklı kaydet 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%.

Olarak çalıştır TestAdDnsRecords.cmd | more. Çok fazla metin çıktısı var.

Kaynaklar

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.