Active Directory 도메인 컨트롤러의 이름 찾기


답변:


147

AD의 DNS 서버를 사용하도록 구성된 DNS가있는 모든 컴퓨터에서 다음을 수행하십시오.

  • 시작-> 실행-> nslookup

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

교체 DOMAIN_NAME을 실제 도메인 이름 등으로 example.com . 자세한 내용은 여기를 참조 하십시오 .


위의 답변에서 set type = all (nslookup)을 입력하면 DNS SRV 레코드를 볼 수 있습니다. "set type = SRV"를 입력 할 수도 있습니다. SRV 레코드는 네트워크에서 AD가 자신을 광고하는 방식입니다.
Les

나는 이것을 실행하고 얻었다 _ldap._tcp.dc._msdcs.UnKnown. 무엇 않습니다 알 수없는 말인가요?
jp2code

64

도메인의 구성원 인 컴퓨터의 경우 환경 변수 LOGONSERVER에는 현재 사용자를 인증 한 DC의 이름이 포함됩니다. 이것은 분명히 다중 DC 환경에서 모든 DC가 될 수는 없지만 명령 쉘에서 도메인 컨트롤러의 이름을 찾는 빠른 방법이라면 다음과 같습니다.

set l <enter>

DC 이름을 포함하여 "L"로 시작하는 모든 환경 변수를 반환합니다.


5
단순화를 위해 +1 DC의 이름을 얻은 후 IP를 얻기 위해 핑 (ping)하면됩니다.
Bigbio2002

2
간단합니다.하지만 관심있는 네트워크에 VPN 연결이되어 있다면 LOGONSERVER는이를 제공하지 않습니다. 허용되는 답변은 내가 생각할 수있는 모든 경우에 적합한 서버를 제공합니다.
Les

1
완벽하지는 않지만 때로는 빨리 좋은 일을하는 법을 아는 것이 중요합니다. 로컬 로그온에도 실패하지만 VPN을 통해 확인하지 않았습니다.
Helvick

35

언급되지 않은 매우 쉽고 빠른 옵션은 명령 프롬프트에서이를 실행하는 것입니다.

nltest /dclist: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 그게 무슨 뜻이야?
jp2code

1
domainname을 도메인 이름으로 바꾸십시오
Abraxas

오. 그것이 내가 찾게 될 것이라고 생각한 것입니다.
jp2code

[Bash # host -t srv _ldap._tcp.MYCOMPANY] 도메인을 찾을 수 없기 때문에 이것은 매우 유용했습니다. [CMD : \> nltest / dclist : MYCOMPANY]는 도메인 이름이 corp.ad.mycompany.com이라고 말한 후 해당 정보를 사용하여 다른 명령을 작동시킬 수있었습니다. [Bash # host -t srv _ldap._tcp.corp.ad.mycompany.com]
neokyle

21

Powershell에서 가장 가까운 도메인 컨트롤러를 반환합니다.

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

17

명령 프롬프트에서을 실행하십시오 gpresult. 당신은 얻을 것이다 :

  • 일반 워크 스테이션 및 도메인 정보
  • 컴퓨터사용자 모두 :
    • AD의 고유 이름 및 정책이 적용된 DC
    • 적용된 그룹 정책 개체
    • 구성원 인 보안 그룹 목록

다음은 running 출력 예제입니다gpresult . gpresult /z더 자세한 정보를 얻도록 지정할 수도 있습니다 .


5
와우, gpresult /Z많은 데이터를 출력합니다. 감사.
friederbluemle

10

네트워크에 AD 도메인 컨트롤러로 관리되거나 도메인 컨트롤러로 작동하는 Unix / Linux 시스템이있을 수 있으므로 DNS 및 DHCP가 가장 좋은 확인 방법입니다.

또한 Active Directory를 고려하는 것은 Microsoft의 Kerberos, LDAP, dhcp 및 dns 버전에 지나지 않습니다. 계층 7+보다 하위 계층에서 사물을 이해하고 디버깅하는 것이 좋습니다. 이는 운영 체제가 동일한 요청을 수행하고 각 프로토콜에 대한 RFC 밑줄이 실제로 "즐겨 찾기 도구 삽입"레벨이 아닌 OSI 레벨에서 작동하기 때문입니다.

한 단계 더 나아가서 dhcp에 옵션 6, 15 및 44를 쿼리하여 도메인 이름 , 도메인 이름 서버Wins / 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(또한 유닉스 / 리눅스 / OSX + 일부 Windows 네트워크에서 가지는 _kadmin._tcp) Kerberos를위한
  • _ldap._tcpldap (openldap, opendc, sun / oracle 디렉토리, ms ad) 용 _LDAP._TCP.dc._msdcs은 도메인 컨트롤러를 매핑하기 위해 ldap에 대한 Microsoft의 유일한 확장입니다.

2

조잡한 CMD

DC 이름 만 찾으십시오

다른 이름으로 저장 GetDcNames.cmd:

nslookup -type=any %userdnsdomain%.

다음으로 실행하십시오 GetDcNames.cmd..

(참고 : "% userdnsdomain %."의 후행 점은 의도적 인 것입니다. 로컬 nslookup이 DNS 검색 경로 문자열을 사용하지 못하게합니다.)

더 많은 AD 관련 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. 많은 텍스트 출력이 있습니다.

출처

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.