영어로 읽기

다음을 통해 공유


DCDiag

적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016

DCDiag.exe는 포리스트 또는 엔터프라이즈의 도메인 컨트롤러(DC) 상태를 분석하고, 문제를 보고하여 문제 해결을 지원합니다. 최종 사용자 보고 프로그램으로서 DCDiag는 시스템에서 비정상적인 동작을 식별하는 방법에 관한 자세한 지식을 캡슐화하는 명령줄 도구입니다.

기본적으로 DC에 로그인하면 DCDiag를 바로 사용할 수 있습니다. DCDiag에 액세스하는 다른 방법은 디바이스에 RSAT(원격 서버 관리 도구)를 설치하는 것입니다. DCDiag는 높은 CMD(명령 프롬프트) 또는 PowerShell의 관리자 권한으로 실행되어야 합니다.

DCDiag는 테스트를 실행하기 위한 프레임워크와 시스템의 다양한 기능 영역을 확인하기 위한 일련의 테스트로 구성됩니다. 이 프레임워크는 엔터프라이즈, 사이트 또는 단일 서버와 같이 사용자의 범위 지시문에 따라 테스트할 DC를 선택합니다. DC의 전체 연결 및 응답성 테스트에는 다음을 확인하는 것이 포함됩니다.

  • DC가 DNS에 있을 수 있음
  • DC가 ICMP(인터넷 제어 메시지 프로토콜) ping에 응답
  • DC가 인스턴스에 바인딩하여 LDAP(Lightweight Directory Access Protocol) 연결 허용
  • DC가 DsBindWithCred 함수를 사용하여 AD RPC 인터페이스 바인딩을 허용할 수 있습니다.

참고

ICMP를 차단하여 DCDiag가 의도대로 작동하지 않게 합니다. 네트워크의 인터넷 에지에서는 ICMP 차단이 권장되지만, 내부적으로 ICMP 트래픽을 차단하면 검색 옵션 부족으로 인해 레거시 그룹 정책, 블랙홀 라우터 검색 또는 비효율적인 MTU 크기를 중단하는 관리 문제가 발생합니다. 문제 해결 도구(예: ping.exe 또는 tracert.exe)에도 영향이 갑니다.

DCDiag 구문

dcdiag [/s:<DomainController>] [/n:<NamingContext>] [/u:<Domain>\<UserName> /p:{* | <Password> | ""}] [{/a | /e}] [{/q | /v}] [/i] [/f:<LogFile>] [/c [/skip:<Test>]] [/test:<Test>] [/fix] [{/h | /?}] [/ReplSource:<SourceDomainController>]

DCDiag는 다음과 같은 매개 변수를 사용합니다.

매개 변수 설명
/s:<DomainController> 명령을 실행할 대상 서버의 이름을 지정합니다. 이 매개 변수가 지정되지 않으면 로컬 도메인 컨트롤러에 대해 테스트가 실행됩니다.

로컬로만 실행할 수 있는 DcPromo 및 RegisterInDns 테스트에 대해서는 이 매개 변수가 무시됩니다.
/n:<NamingContext> NamingContext를 명명 컨텍스트로 사용해 테스트합니다. 도메인을 NetBIOS, DNS(Domain Name System) 또는 고유 이름 형식으로 지정할 수 있습니다.
/u:<Domain>\<UserName> /p:{<Password> | ""} Domain\UserName을 사용합니다. DCDiag는 로그온 사용자(또는 프로세스)의 현재 자격 증명을 사용합니다. 대체 자격 증명이 필요한 경우에는 다음 옵션을 사용하여 암호로 바인딩하기 위해 해당 자격 증명을 제공합니다. 빈 암호 또는 null 암호에는 따옴표("")를 사용합니다. 암호를 묻는 메시지를 표시하려면 와일드카드 문자(*)를 사용합니다.
/a 이 AD DS 사이트에 있는 모든 서버를 테스트합니다.
/e 엔터프라이즈의 서버를 모두 테스트합니다. 이는 /a를 재정의합니다.
/q 조용함. 오류 메시지만 인쇄합니다.
/v 세부 정보. 확장 정보를 인쇄합니다.
/수정 MachineAccount 테스트에만 영향이 갑니다. 이 매개 변수에 따라 테스트가 도메인 컨트롤러의 컴퓨터 계정 개체에서 SPN(서비스 사용자 이름)을 수정합니다.
/f:<LogFile> 로그 파일로 모든 출력을 리디렉션합니다.
/c 포괄적. 기본이 아닌 테스트를 포함해 DCPromo와 RegisterInDNS를 제외한 모든 테스트를 실행합니다. 필요에 따라 이 매개 변수를 /skip 매개 변수와 함께 사용하여 지정된 테스트를 건너뛸 수 있습니다.

기본적으로 다음 테스트는 실행되지 않습니다.
  • 토폴로지
  • CutoffServers
  • OutboundSecureChannels.
/h 또는 /? 명령 프롬프트에 도움말을 표시합니다.
/test:<Test> 이 테스트만 실행합니다. /skip 매개 변수를 사용하여 연결 테스트를 건너뛸 수 없습니다.
/ReplSource:<SourceDomainController> 명령을 실행하는 도메인 컨트롤러와 원본 도메인 컨트롤러 사이의 연결을 테스트합니다. (이 매개 변수는 CheckSecurityError 테스트에 사용합니다.)

SourceDomainController는 실제 또는 잠재적 연결 개체로 표현되는 복제의 원본 도메인 컨트롤러가 되는 실제 또는 잠재적 서버의 DNS 이름, NetBIOS 이름 또는 고유 이름입니다.

DCDiag 알려진 테스트

다음 표는 달리 지정하지 않는 한 기본적으로 실행되는 알려진 테스트를 표시합니다.

테스트 설명
Advertising 각 도메인 컨트롤러가 수행할 수 있어야 하는 역할에서 자신을 보급하는지 여부를 확인합니다. 이 테스트는 컴퓨터가 도메인 컨트롤러를 찾는 데 사용하는 공용 DsGetDcName 함수가 DC를 올바르게 찾을 수 있는지 확인합니다.

Netlogon 서비스가 중지되었거나 시작되지 않으면 이 테스트가 실패합니다. 키 배포 키(KDC) 서비스가 중지되면 DsGetDcName에서 반환된 플래그에 KDC가 포함되지 않으므로 보급 테스트가 실패합니다. TCP 및 UDP를 통해 포트 88이 방화벽에서 차단되면 KDC가 Kerberos 티켓 요청에 응답하지 못해도 보급 테스트가 통과됩니다.
CheckSDRefDom 모든 애플리케이션 디렉터리 파티션에 적합한 보안 설명자 참조 도메인이 있는지 확인합니다.

이 테스트는 LDAP를 사용하고 cn=partitions,cn=configuration,dc=<forest 루트 도메인>에 위치한 상호 참조 개체에 그 msDS-SDReferenceDomain 특성의 올바른 도메인 이름이 포함되는지 확인합니다.
CheckSecurityError 테스트는 기본적으로 실행되지 않습니다. LDAP, RPC, RPC over SMB 및 ICMP를 사용하는 보안 정책 또는 보안 데이터베이스와 관련된 문제 같이 DC의 보안 구성 요소와 관련된 오류에 대해 다양한 보안 검사를 수행합니다. 다음을 확인합니다.
  • 각 도메인에 대해 하나 이상의 KDC가 온라인 상태이며 연결할 수 있음.
  • DC 컴퓨터 개체가 다른 DC에 복제되었음.
  • 비 조각화 ICMP 패킷을 전송하여 현재 MTU 크기에 따라 UDP를 통해 Kerberos의 패킷 조각화가 문제가 될 수 있는 경우.
  • DsReplicaGetInfo 함수를 쿼리하여 보안 관련 오류를 가져와 연결된 파트너에 대한 복제 또는 Knowledge Consistency Checker(KCC) 연결 문제가 없음.
  • DC 컴퓨터 계정이 DC에 대한 올바른 UserAccountControl 플래그와 함께 기본 "도메인 컨트롤러" OU의 일부로 AD(Active Directory)에 존재하는 경우 올바른 ServerReference 특성이 설정되어 있고, 필수 SPN(서비스 사용자 이름)이 최소로 구성되어 있는 것입니다.

/ReplSource 매개 변수가 추가되면 파트너가 다음도 확인합니다.
  • Kerberos에 대해 300초(5분) 미만인지 확인하기 위해 서버 간에 계산된 시간차. 허용된 오차가 수정되었는지 확인하기 위해 Kerberos를 확인하지 않습니다.
  • DC 간의 복제와 연결 함수의 유효성을 검사하는 원본 DC의 모든 명명 컨텍스트(예: 스키마, 구성 등)에 대한 권한입니다.
  • DCDiag를 실행하는 사용자가 보안 오류 없이 SYSVOL와 NETLOGON 공유에 연결하여 읽을 수 있는지를 확인하는 연결.
  • DC에서 네트워크에서 이 컴퓨터에 액세스 권한을 확인하여 관리자, 인증된 사용자모든 그룹이 이를 보유하고 있는지 확인합니다.
  • DC의 컴퓨터 개체를 확인하여 DC에서 최신 버전인지 확인합니다. 이는 버전, USN, 원본 서버 및 타임스탬프 확인과 함께 복제 수렴을 증명하기 위해 수행됩니다.
연결 DSA와 DNS가 등록되어 있어 LDAP와 RPC를 사용하여 연결할 수 있는지 확인합니다.
CrossRefValidation cn=partitions,cn=configuration,dc=<forest 루트 도메인>에 위치한 명명 컨텍스트의 목록을 그 상호 참조와 함께 검색한 다음 LDAP를 사용하여 CheckSDRefDom 테스트와 유사한 유효성을 검사합니다. 이 테스트는 nCName, dnsRoot, nETBIOSName, systemFlags 특성을 확인합니다.
  • DN 이름이 잘못되었거나 null이 아닌지 확인합니다.
  • DN이 CNF 또는 0ADEL에 의해 변경되지 않았는지 확인합니다.
  • 해당 개체에 대해 systemFlags가 올바른지 확인합니다.
  • 비어 있는(분리된) 복제본 세트를 호출합니다.
CutoffServers AD 복제를 테스트하여 파트너 간 연결 개체를 작업하지 않고 DC가 없는지 확인합니다. DC에서 인바운드 또는 아웃바운드를 복제할 수 없는 모든 서버는 DC에서 복제를 트리거하는 DsReplicaSyncAll 함수를 사용하여 "차단"된 것으로 간주됩니다. 일정을 사용하여 정리된 상태로 유지되는 제대로 구현되지 않은 WAN 링크가 있는 경우 /e 매개 변수를 주의해서 사용합니다.

서버로 연결할 수 없거나 네트워크의 LDAP에서 사용할 수 없는 경우 /v 매개 변수가 지정된 경우에도 오류 또는 테스트 결과를 제공하지 않습니다. 이 테스트에서는 RPC를 사용합니다.
DcPromo 인프라가 디바이스를 DC로 승격하기 위한 필수 요건을 충족하는 경우 클라이언트 DNS 설정에 지정된 서버에 대해 테스트합니다. 이 테스트는 네트워크의 DNS를 사용하고 다음을 확인합니다.
  • 네트워크 어댑터 하나 이상에 기본 DNS 서버 집합이 있는 경우
  • DNS 접미사에 기반하는 연결되지 않은 네임스페이스가 있는 경우
  • 제안된 권한이 있는 DNS 영역에 연결할 수 있음.
  • 서버의 A 레코드에 동적 DNS 업데이트가 가능한 경우 DnsUpdateOnAllAdapters 및 DisableDynamicUpdate에 대한 신뢰할 수 있는 DNS 영역과 클라이언트 레지스트리 구성의 설정을 모두 확인합니다.
  • 기존 포리스트를 쿼리할 때 _ldap._tcp.dc._msdcs.<domain> 같은 LDAP DClocator 레코드가 반환되는 경우.

다음 인수가 필요합니다.
  • /DnsDomain:<Active_Directory_Domain_DNS_Name>
    • 이 매개 변수를 사용하려면 다음 인수 중 하나가 필요합니다. /ChildDomain, /NewForest, /NewTree, /ReplicaDC
  • /NewTree가 지정된 경우 다음 인수가 필요합니다.
    • /ForestRoot:<Forest_Root_Domain_DNS_Name>
DFSREvent 이 테스트는 지난 24시간 동안의 DFSR 이벤트 로그 경고와 오류 항목을 확인하여 DFSR(분산 파일 시스템 복제) 서비스의 상태의 유효성을 검사합니다. 이 테스트는 RPC 및 이벤트 로그 원격 프로토콜을 사용합니다.
DNS DNS, RPC, WMI 프로토콜을 사용하여 엔터프라이즈 수준 DNS 상태 검사를 테스트합니다. 기본적으로 실행되지 않으며, 명시적으로 요청해야 합니다. DNS 구문을 참조하세요.
FrsEvent SysVol 공유의 복제 실패로 정책 문제가 발생할 수 있으므로 지난 24시간 동안 FRS(파일 복제 서비스) 이벤트 로그에 오류가 있는지 확인합니다. 이 테스트는 RPC 및 이벤트 로그 원격 프로토콜을 사용합니다.
Intersite 사이트 간 복제를 방지하거나 일시적으로 정지하는 실패를 확인하고 KCC가 복구하는 데 걸리는 시간을 예측합니다. 이 테스트는 DRS 함수를 사용하여 다음을 통해 특정 사이트나 모든 사이트 내에서 사이트 간 AD 복제를 방지하는 조건을 확인합니다.
  • 사이트 간 토폴로지 생성기(ISTG)를 찾아 연결.
  • 브리지헤드 서버를 찾아 연결.
  • 복제를 트리거한 후 복제 실패를 다시 보고.
  • 이 사이트에 대한 인바운드 연결을 사용하여 사이트 내의 모든 DC를 사용할 수 있는지 확인.
  • IntersiteFailuresAllowedMaxFailureTimeForIntersiteLink의 KCC 값이 레지스트리 키 KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters 내에서 재정의되는지 확인.

/a 또는 /e 매개 변수는 테스트를 실행할 수 있지만 실제 테스트를 건너뛰는 사이트를 제공하지 않는 것으로 사용해야 합니다. 이 테스트에서는 네트워크를 통해 RPC를 사용하여 복제 측면을 테스트하고 레지스트리 연결에 NTDS 재정의 항목을 확인하도록 요청합니다. LDAP는 연결 정보를 찾는 데에도 사용됩니다.
KccEvent 이 테스트는 DC의 KCC에서 지난 15분 동안 Directory Services 이벤트 로그에 생성된 오류와 경고를 쿼리합니다. 15분 임계값은 DC의 Repl 토폴로지 업데이트 기간(초) 레지스트리 값과 무관합니다.

방화벽 규칙으로 이 테스트가 실패하는 경우 테스트가 성공할 수 있도록 해당 규칙을 사용하도록 설정하는 KB2512643을 참조하세요. 이 테스트는 이벤트 로그 원격 프로토콜과 함께 RPC를 사용합니다.
KnowsOfRoleHolders 이 테스트는 다섯 개의 FSMO(유연한 단일 마스터 작업) 역할에 대한 DC 지식을 반환하지만 모든 DC 지식의 일관성을 확인하지는 않습니다. /e 매개 변수를 사용하면 비교를 위한 데이터가 제공됩니다. 이 테스트는 RPC를 사용하여 디렉터리 복제 서비스(DRS) 함수 내에서 DSListRoles를 반환합니다.
MachineAccount 다음을 확인하는 것을 포함하여 컴퓨터 계정이 제대로 등록되었는지 여부와 SMB를 통해 LDAP와 RPC를 사용하여 서비스가 보급되는지 확인합니다.
  • AD에 DC의 컴퓨터 계정이 있음.
  • 도메인 컨트롤러 OU 내에 있음.
  • DC에 대한 올바른 UserAccountControl 플래그가 있음.
  • 올바른 ServerReference 특성이 설정되어 있음.
  • 최소 서비스 사용자 이름(SPN)이 설정되어 있음. 이 테스트는 동일한 내부 테스트를 사용하는 점에서 CheckSecurityError와 동일합니다.

또한 이 테스트에는 복구 옵션이 두 개 있습니다.
  • /RecreateMachineAccount - 누락된 DC 컴퓨터 개체를 다시 만듭니다. FRS 및 DFSR 구독과 같은 DC의 자식 개체를 다시 만들지 않으므로 이것은 권장되지 않습니다. 유효한 SystemState 백업을 사용하여 DC의 삭제된 개체와 자식 개체를 확실하게 복원하는 것이 가장 좋습니다. 이 옵션을 사용하는 경우 DC를 정상적으로 강등하고 승격하여 누락된 모든 관계를 복구해야 합니다.
  • /FixMachineAccount - UserAccountControl flags TRUSTED_FOR_DELEGATIONSERVER_TRUST_ACCOUNT를 DC 컴퓨터 개체에 추가합니다. ADSIEDIT 또는 다른 LDAP 편집기를 통해 이러한 플래그를 직접 설정하는 것보다 이 복구 옵션을 사용하는 것이 좋습니다.
NCSecDesc DC 간의 복제와 연결 작업의 유효성을 검사하는 원본 DC의 모든 명명 컨텍스트(예: 스키마, 구성 등)에 대한 권한을 확인합니다. 엔터프라이즈 도메인 컨트롤러관리자 그룹에 CheckSecurityError 내에서 수행되는 동일한 테스트인 올바른 최소 권한이 있는지 확인합니다. 이 테스트는 LDAP를 사용합니다.
NetLogons DCDiag를 실행하는 사용자가 보안 오류 없이 SYSVOL와 NETLOGON 공유에 연결하여 읽을 수 있는지를 확인합니다. 관리자, 인증된 사용자, 모든 그룹에 DC의 네트워크에서 이 컴퓨터에 액세스 권한이 있는지도 확인합니다.
ObjectsReplicated 컴퓨터 계정과 DSA(디렉터리 시스템 에이전트) 개체가 복제되었는지 확인합니다. 기본적으로 두 개체의 유효성을 검사하며 각 DC에 있으며 다른 모든 DC에서 최신 상태입니다.
  • CN=NTDS 설정
  • CN=<DC 이름>

/objectdn:dn 매개 변수를 /n:nc 매개 변수와 함께 사용하여 확인할 추가 개체를 지정합니다. 이 테스트는 RPC를 DRS 함수와 함께 사용하여 수행합니다.
OutboundSecureChannels 기본적으로 이 테스트는 실행되지 않습니다. 도메인의 모든 도메인 컨트롤러에서 /testdomain 매개 변수로 지정된 도메인에 보안 채널이 존재하는지 확인합니다. /nositerestriction 매개 변수는 DCDiag가 사이트의 도메인 컨트롤러로 테스트를 제한할 수 없도록 합니다.
RegisterInDNS 디렉터리 서버가 디렉터리 서버 로케이터 DNS 레코드를 등록할 수 있는지 여부를 테스트합니다. 다른 컴퓨터가 <Active_Directory_Domain_DNS_Name> 도메인에 대한 이 디렉터리 서버를 찾으려면 이러한 레코드가 DNS에 있어야 합니다. 이것은 기존 DNS 인프라를 수정해야 하는지도 보고합니다. 매개 변수 /DnsDomain:<Active_Directory_Domain_DNS_Name>를 사용해야 합니다. 이 테스트는 다음을 확인합니다.
  • 신뢰할 수 있는 DNS 영역에 연결할 수 있음.
  • 네트워크 어댑터 하나 이상에 기본 DNS 서버 집합이 있는 경우
  • DNS 접미사를 기반으로 하는 연결이 끊긴 네임스페이스가 있는 경우.
  • 제안된 신뢰할 수 있는 DNS 영역에 연결할 수 있음.
  • 서버의 A 레코드에 동적 DNS 업데이트가 가능한 경우 DnsUpdateOnAllAdaptersDisableDynamicUpdate의 신뢰할 수 있는 DNS 영역과 클라이언트 레지스트리 구성의 설정을 확인합니다.
  • 기존 포리스트를 쿼리할 때 _ldap._tcp.dc._msdcs.<domain> 같은 LDAP DClocator 레코드가 반환되는 경우.
복제 이 테스트는 다음과 같은 경우 지정된 DC의 모든 명명 컨텍스트에 대한 모든 AD 복제 연결 개체를 확인합니다.
  • 마지막 시도한 복제에 성공했거나 오류를 반환합니다.
  • 복제를 사용할 수 없음.
  • 복제 대기 시간이 12시간을 초과함.
RidManager 상대 식별자(RID) 마스터에 액세스할 수 있는지 여부와 다음 여부를 확인합니다.
  • 적절한 정보을 포함함.
  • DsBind를 통해 찾아 연락할 수 있음.
  • 유효한 RID 풀 값이 있음.

역할 보유자가 온라인 상태여야 하며 DC가 보안 주체(사용자, 컴퓨터 및 그룹)를 만들고, 추가 DC를 도메인 내에서 승격하도록 액세스할 수 있어야 합니다. 이 테스트에서는 LDAP 및 RPC를 사용합니다.
Services 이 테스트는 다양한 AD 종속 서비스가 실행되고 있으며, 액세스가 가능하며, 특정 시작 유형으로 설정되어 있는지 확인합니다. 이러한 서비스는 별도로 지정하지 않는 한 자동으로 시작되어 공유 프로세스에서 실행됩니다.
  • DFSR(자체 프로세스로 실행)
  • DNSCACHE
  • EVENTSYSTEM
  • IISADMIN(SMTP 기반 AD 복제를 사용하는 경우)
  • ISMSERV
  • KDC
  • NETLOGON
  • NTDS
  • NTFRS(자체 프로세스로 실행)
  • RPCSS
  • SAMSS
  • SERVER
  • SMTPSVC(SMTP 기반 AD 복제를 사용하는 경우)
  • W32TIME(자동 또는 수동으로 시작)
  • WORKSTATION

이러한 서비스 이름은 레지스트리 경로 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services에 나열됩니다. 이 테스트는 RPC와 Service Control Manager 원격 프로토콜을 사용합니다.
SysVolCheck 이 테스트는 DC Netlogon SysVolReady 레지스트리 키를 읽어 SYSVOL이 준비되어 있는지 확인합니다. 이 테스트를 통과하려면 값 이름이 1 값으로 존재해야 하며 FRS 또는 DFSR 복제 SYSVOL에서 작동합니다. CheckSecurityError에 의해 수행되므로 SYSVOL 및 NELOGON 공유에 액세스할 수 있는지 확인하지 않습니다. 이 테스트에서는 SMB를 통한 RPC를 사용합니다.
SystemLog 시스템 이벤트 로그의 상태를 확인하여 지난 60분 동안의 항목을 읽고 작성하고 오류와 경고가 있는지 확인합니다. 이 테스트는 RPC와 Service Control Manager 원격 프로토콜을 사용합니다.
토폴로지 생성된 AD 복제 토폴로지가 모든 DSA에 대해 완전히 연결되었는지 확인합니다. 기본적으로 이 테스트는 수행되지 않으므로 명시적으로 실행되어야 합니다. 다음을 확인합니다.
  • 자동 사이트 내 토폴로지 생성이 사용하지 않도록 설정된 경우
  • 자동 사이트 간 토폴로지 생성이 사용하지 않도록 설정된 경우
  • 연결이 끊긴 토폴로지(연결 개체 누락)의 경우 각 참조 DC의 업스트림 및 다운스트림 모두.

이 테스트는 RPC, LDAP, DsReplicaSyncAll을 플래그 DS_REPSYNCALL_DO_NOT_SYNC와 함께 사용하여 변경 내용을 실제로 복제하지 않고 복제 토폴로지를 분석하고 유효성을 검사합니다. 이 테스트는 복제 파트너의 가용성에 대해 유효성을 검사하지 않습니다. 파트너를 오프라인으로 전환해도 이 테스트에서 실패가 야기되지 않습니다. 일정이 닫혀 복제를 방지하는지 여부도 테스트하지 않습니다. 이러한 활성 복제 결과를 보려면 테스트 복제 또는 CutoffServers를 사용합니다.
VerifyEnterpriseReferences 각 도메인 컨트롤러에서 엔터프라이즈의 모든 개체에서 FRS 및 복제 인프라에 대해 지정된 시스템 참조가 그대로 유지되는지 확인합니다. 다음과 같은 DC 사이트 특성과 개체가 여기에 포함됩니다.
  • frsComputerReference: cn=domain system volume (sysvol share),cn=ntfrs subscriptions,cn=<DC Name>,ou=domain controllers,DC=<domain>
  • frsComputerReferenceBL: cn=<DC Name>,cn=domain system volume (sysvol share),cn=file replication service,cn=system,dc=<domain>
  • hasMasterNCs: cn=ntds settings,cn=<DC Name>,cn=<site>,cn=sites,cn=configuration,dc=<domain>
  • msDFSR-ComputerReference: cn=<DC Name>,cn=topology,cn=domain system volume,cn=dfsr-blobalsettings,cn=system,dc=<domain>
  • msDFSR-ComputerReferenceBL: cn=<DC Name>,ou=domain controllers,dc=<domain>
  • nCName: cn=<partition name>,cn=partitions,cn=configuration,dc=<domain>
  • ServerReference: cn=<DC name>,cn=<site>,cn=sites,cn=configuration,dc=<domain>
  • ServerReferenceBL: cn=<DC Name>,ou=domain controllers,dc=<domain>

도메인 기능 수준이 Windows Server 2008 이상인 경우에만 두 개의 DFSR 테스트가 수행됩니다. 다시 말해 DFSR이 SYSVOL로 마이그레이션되지 않으면 실패가 예상됩니다. 이 테스트에서는 LDAP를 사용하며, 지정된 DC만 연결됩니다.
VerifyReferences FRS 및 복제 인프라에 대해 특정 시스템 참조가 그대로 유지되는지 확인합니다. 이 테스트에서는 다음 DC 사이트 특성과 개체를 포함해 단일 DC에 대한 컴퓨터 참조 특성을 확인합니다.
  • frsComputerReference: cn=domain system volume (sysvol share),cn=ntfrs subscriptions,cn=<DC Name>,ou=domain controllers,DC=<domain>
  • frsComputerReferenceBL: cn=<DC Name>,cn=domain system volume (sysvol share),cn=file replication service,cn=system,dc=<domain>
  • msDFSR-ComputerReference: cn=<DC Name>,cn=topology,cn=domain system volume,cn=dfsr-blobalsettings,cn=system,dc=<domain>
  • msDFSR-ComputerReferenceBL: cn=<DC Name>,ou=domain controllers,dc=<domain>
  • ServerReference: cn=<DC name>,cn=<site>,cn=sites,cn=configuration,dc=<domain>
  • ServerReferenceBL: cn=<DC Name>,ou=domain controllers,dc=<domain>

이 테스트는 LDAP를 사용하며, 파티션 상호 참조 또는 다른 모든 DC 개체를 확인하지 않는다는 점만 제외하고 VerifyEnterpriseRefrences 테스트와 유사합니다.
VerifyReplicas 모든 애플리케이션 디렉터리 파티션이 모든 복제본 서버에서 완전히 인스턴스화되어 있는지 확인합니다. 지정된 서버가 파티션 컨테이너에 있는 그 crossref 특성으로 지정된 애플리케이션 파티션을 호스트하는지 확인합니다. 이것은 출력 데이터를 표시하지 않고 호스팅의 유효성을 검사한다는 점만 제외하고 CheckSDRefDom처럼 작동합니다. 이 테스트는 LDAP를 사용합니다.

참고

네트워크에 등록되어 있고 DNS, LDAP, RPC 같은 다른 리소스와 연결하는 도메인 컨트롤러에 대한 연결 검사는 건너뛸 수 없습니다.

DNS 구문

dcdiag /test:DNS [/DnsBasic | /DnsForwarders | /DnsDelegation | /DnsDynamicUpdate | /DnsRecordRegistration | /DnsResolveExtName [/DnsInternetName:<InternetName>] | /DnsAll] [/f:<LogFile>] [/x:<XMLLog.xml>] [/xsl:<XSLFile.xsl> or <XSLTFile.xslt>] [/s:<DomainController>] [/e] [/v]

DNS 테스트는 다음 매개 변수를 사용합니다.

매개 변수 설명
/test:DNS 지정된 DNS 테스트를 수행합니다. 테스트가 지정되지 않으면 기본값이 /DnsAll로 설정됩니다.
/DnsBasic 네트워크 연결, DNS 클라이언트 구성, 서비스 가용성 및 영역 존재 등의 기본 DNS 테스트를 수행합니다.
/DnsForwarders /DnsBasic 테스트를 수행하며, 전달자의 구성도 확인합니다.
/DnsDelegation /DnsBasic 테스트를 수행하며, 적절한 위임도 확인합니다.
/DnsDynamicUpdate /DnsBasic 테스트를 수행하고, Active Directory 영역에서 동적 업데이트를 사용할 수 있는지 여부도 확인합니다.
/DnsRecordRegistration /DnsBasic 테스트를 수행하고, 주소(A), 정식 이름(CNAME) 및 잘 알려진 서비스(SRV) 리소스 레코드가 등록되어 있는지도 확인합니다. 그리고 테스트 결과에 따라 인벤토리 보고서도 만듭니다.
/DnsResolveExtName [/DnsInternetName:\<InternetName>] /DnsBasic 테스트를 수행하고, InternetName 확인도 시도합니다. /DnsInternetName가 지정되지 않으면, 이름 <www.microsoft.com>을 확인하려고 시도합니다. /DnsInternetName가 지정된 경우, 사용자가 제공한 인터넷 이름을 확인하려고 시도합니다.
/DnsAll /DnsResolveExtName 테스트를 제외한 모든 테스트를 수행하고, 보고서를 생성합니다.
/f:<LogFile> 로그 파일로 모든 출력을 리디렉션합니다.
/s:<DomainController> 도메인 컨트롤러에 대해 테스트를 실행합니다. 이 매개 변수가 지정되지 않으면 로컬 도메인 컨트롤러에 대해 테스트가 실행됩니다.
/e Active Directory 포리스트의 모든 도메인 컨트롤러에 대해 /test:DNS가 지정한 모든 테스트를 실행합니다.
/v 세부 정보. 오류와 경고에 관한 정보와 함께 성공적인 테스트 결과에 관한 확장 정보도 제공합니다.
/v 매개 변수를 사용하지 않는 경우 오류와 경고 정보만 제공합니다. 요약 테이블에 오류나 경고가 보고되면 /v 스위치를 사용합니다.
/x:<XMLLog.xml> xmllog.xml로 모든 출력을 리디렉션합니다. 이 매개 변수는 /test:DNS 옵션에서만 작동합니다.
/xsl:<XSLFile.xsl> 또는
/xsl:<XSLTFile.xslt>
지정된 시트를 참조하는 처리 지침을 추가합니다. 이 매개 변수는 /test:DNS /x:<XMLLog.xml 옵션에서만 작동합니다.

참고

DNS 테스트의 실행 시간은 /e 매개 변수를 사용할 때 대기업에서 중요할 수 있습니다. 오프라인 상태인 도메인 컨트롤러 및 DNS 서버는 RPC 및 기타 프로토콜에 대한 긴 시간 제한 기간으로 인해 런타임을 늘립니다.

예제

연결 테스트

다음 명령을 실행하여 로컬 도메인에서 일련의 연결 테스트를 실행합니다.

PowerShell
dcdiag

성공한 연결 테스트 출력:

출력
Directory Server Diagnosis


Performing initial setup:

   Trying to find home server...

   Home Server = MapleWaffle-WS22

   * Identified AD Forest. 
   Done gathering initial info.


Doing initial required tests

   
   Testing server: Default-First-Site-Name\MAPLEWAFFLE-WS2

      Starting test: Connectivity

         ......................... MAPLEWAFFLE-WS2 passed test Connectivity


Doing primary tests

      Testing server: Default-First-Site-Name\MAPLEWAFFLE-WS2

      Starting test: Advertising
         ......................... MAPLEWAFFLE-WS2 passed test Advertising

      Starting test: FrsEvent
         ......................... MAPLEWAFFLE-WS2 passed test FrsEvent

      Starting test: DFSREvent
         ......................... MAPLEWAFFLE-WS2 passed test DFSREvent

      Starting test: SysVolCheck
         ......................... MAPLEWAFFLE-WS2 passed test SysVolCheck

      Starting test: KccEvent
         ......................... MAPLEWAFFLE-WS2 passed test KccEvent

      Starting test: KnowsOfRoleHolders
         ......................... MAPLEWAFFLE-WS2 passed test KnowsOfRoleHolders

      Starting test: MachineAccount
         ......................... MAPLEWAFFLE-WS2 passed test MachineAccount

      Starting test: NCSecDesc
         ......................... MAPLEWAFFLE-WS2 passed test NCSecDesc

      Starting test: NetLogons
         ......................... MAPLEWAFFLE-WS2 passed test NetLogons

      Starting test: ObjectsReplicated
         ......................... MAPLEWAFFLE-WS2 passed test ObjectsReplicated

      Starting test: Replications
         ......................... MAPLEWAFFLE-WS2 passed test Replications

      Starting test: RidManager
         ......................... MAPLEWAFFLE-WS2 passed test RidManager

      Starting test: Services
         ......................... MAPLEWAFFLE-WS2 passed test Services

      Starting test: SystemLog
         ......................... MAPLEWAFFLE-WS2 passed test SystemLog

      Starting test: VerifyReferences
         ......................... MAPLEWAFFLE-WS2 passed test VerifyReferences
 
   Running partition tests on : ForestDnsZones

      Starting test: CheckSDRefDom
         ......................... ForestDnsZones passed test CheckSDRefDom

      Starting test: CrossRefValidation
         ......................... ForestDnsZones passed test CrossRefValidation

   Running partition tests on : DomainDnsZones

      Starting test: CheckSDRefDom
         ......................... DomainDnsZones passed test CheckSDRefDom

      Starting test: CrossRefValidation
         ......................... DomainDnsZones passed test CrossRefValidation
   
   Running partition tests on : Schema

      Starting test: CheckSDRefDom
         ......................... Schema passed test CheckSDRefDom

      Starting test: CrossRefValidation
         ......................... Schema passed test CrossRefValidation
   
   Running partition tests on : Configuration

      Starting test: CheckSDRefDom
         ......................... Configuration passed test 
         CheckSDRefDom

      Starting test: CrossRefValidation
         ......................... Configuration passed test 
         CrossRefValidation
   
   Running partition tests on : corp

      Starting test: CheckSDRefDom
         ......................... corp passed test CheckSDRefDom

      Starting test: CrossRefValidation
         ......................... corp passed test CrossRefValidation
   
   Running enterprise tests on : corp.contoso.com

      Starting test: LocatorCheck
         ......................... corp.contoso.com passed test
         LocatorCheck

      Starting test: Intersite
         ......................... corp.contoso.com passed test 
         Intersite

다음 명령을 실행하여 특정 도메인 컨트롤러에서 일련의 연결 테스트를 실행합니다.

PowerShell
dcdiag /s:<DomainControllerName>

문제가 발생하지 않으면 로컬 테스트와 유사한 결과가 생성되어야 합니다.

로그 파일로 출력

DCDiag는 다음을 실행하여 출력 결과를 텍스트 파일로 저장할 수 있습니다.

PowerShell
dcdiag /s:<DomainControllerName> /f:<FileName.txt>

<FilePath>가 지정되지 않으면 기본적으로 C:\Users\<UserName>\<FileName.txt>에 결과가 저장됩니다.

특정 위치에 저장하려면 다음을 실행합니다.

PowerShell
dcdiag /s:<DomainControllerName> /f:<DriveLetter>\<FilePath>\<FileName.txt>

참고 항목

명령줄 구문 키