우리는 DCDiag를 검토합니다, 강력한 Microsoft Windows 도구. 우리는 DNS 서비스를 테스트하고 도메인 컨트롤러의 상태를 평가하며 심지어 자동으로 오류를 수정하기 위해 이를 사용합니다. 비교적 간단하지만, 이 도구는 모든 도메인 컨트롤러의 상태를 유지하는 데 충분히 강력합니다.
우리가 시작할까요? 아티클 DCDiag: Powershell을 사용하여 도메인 컨트롤러 상태를 확인하는 방법
DCDiag: Powershell을 사용하여 도메인 컨트롤러 상태를 확인하는 방법
DCDiag 도구 설치
우리가 Windows Server를 실행하고 있다면, DCDiag가 설치되어 있어야 합니다. Microsoft는 DCDiag를 2012R2 이후의 최신 Windows Server 버전에 내장했습니다.
DCDiag 도구의 목적
- 연결 테스트 – DCDiag는 도메인 컨트롤러가 네트워크에 연결되어 있고 다른 도메인 컨트롤러와 통신할 수 있는지 확인합니다.
- DNS 테스트 – 도메인 컨트롤러가 DNS를 올바르게 확인하고 등록하는지 검토합니다.
- 복제 테스트 – 도메인 컨트롤러가 다른 도메인 컨트롤러와 정확하게 복제되는지 테스트합니다.
- 신뢰 테스트 – DCDiag는 도메인 컨트롤러가 다른 도메인을 신뢰하고 있는지, 그리고 다른 도메인이 도메인 컨트롤러를 신뢰하고 있는지 확인합니다.
- LDAP 테스트 – 도메인 컨트롤러에서 LDAP 쿼리가 제대로 작동하는지 확인합니다.
- Kerberos 테스트 – DCDiag는 도메인 컨트롤러에서 Kerberos 인증이 올바르게 작동하는지 확인합니다.
- SYSVOL 테스트 – DCDiag은 도메인 컨트롤러에서 SYSVOL 복제가 올바르게 작동하는지 확인합니다.
- 글로벌 카탈로그 테스트 – DCDiag은 DC가 글로벌 카탈로그 서버로 작동하고 있는지 그리고 글로벌 카탈로그 쿼리가 올바르게 작동하는지 확인합니다.
또한 읽으십시오 PowerShell을 사용하여 컴퓨터를 도메인에 조인하는 방법
DCDiag 도구 개요
자, 문서 DCDiag를 사용하여: Powershell을 사용하여 도메인 컨트롤러 상태를 확인하는 방법은 간단한 명령 줄 유틸리티입니다. DCDiag를 CMD 프롬프트 또는 PowerShell 창에서 실행합니다. 관리자 권한을 사용하십시오.
DCDiag의 기본 구문은 다음과 같습니다:
dcdiag.exe /s:[:] [/u:\ /p:*||””]
다음 중:
- /s – 도메인 컨트롤러
- /u:\ – 사용자 이름
- \p:* – 암호
dcdiag /?
DCDiag 스위치 매개 변수
DCDiag 명령어 다음에 다음 스위치 중 하나를 추가하여 사용할 수 있습니다. 인기 있는 명령어 스위치 요약:
- /s <ServerName> – 테스트할 서버의 이름을 지정합니다. 서버 이름을 지정하지 않으면 DCDiag는 로컬 컴퓨터를 테스트합니다.
- /v – 수행된 테스트에 대한 자세한 출력 및 추가 정보를 제공합니다.
- /test:<TestName> – 실행할 테스트의 이름을 지정합니다. 여러 테스트를 실행하려면 여러 /test 스위치를 지정합니다.
- /e – 지정된 도메인 컨트롤러에 대한 포괄적인 테스트 세트를 수행합니다.
- /fix – 테스트 중 발견된 문제를 수정하려고 시도합니다.
- /f:<LogFileName> – 생성할 로그 파일의 이름을 지정합니다.
- /c – DCDiag가 도메인 컨트롤러의 서비스를 광고하는 데 필요한 테스트만 수행하도록 지정합니다.
- /skip:<TestName> – 지정된 테스트를 건너뜁니다.
- /l:<LogFileName> – 기존 내용을 덮어쓰는 대신 추가할 로그 파일 이름을 지정합니다.
- /q – 정보 메시지의 표시를 억제하는 잔머리 모드를 지정합니다.
- /test:DNS – 지정된 도메인 컨트롤러에서 DNS 테스트를 실행합니다.
- /test:KCC – 지정된 도메인 컨트롤러에서 KCC 테스트를 실행합니다.
- /test:Replications – 지정된 dc에서 복제 테스트를 실행합니다.
- /test:Advertising – 지정된 dc에서 광고 테스트를 실행합니다.
- /test:Services – 지정된 dc에서 서비스 테스트를 실행합니다.
위에는 가장 많이 사용되는 DCDiag 명령 줄 스위치 중 일부가 있지만 더 많은 옵션이 있습니다. help command를 실행하여 스위치 및 정의 목록을 완전히 볼 수 있습니다.
Active Directory Health DC 보고 도구 사용해보기
시도해보세요 무료로, 모든 기능에 액세스할 수 있습니다. – 200개 이상의 AD 보고서 템플릿 사용 가능. 쉽게 고유한 AD 보고서를 맞춤화할 수 있습니다.
DCDiag 실행 및 사용 사례
DCDiag를 실행하려면 로컬 DC(또는 인수)에서 기본 DCDiag 테스트를 수행하기 위해 어떤 스위치도 사용하지 않고 DCDiag 명령을 입력하십시오.
dcdiag.exe
DCDiag는 자동으로 현재(로컬) DC를 식별하므로 도메인 컨트롤러나 관리자 자격 증명이 필요하지 않습니다. 다음 섹션에서는 DCDiag의 스위치 매개변수를 사용하여 여러 사용 사례를 논의합니다.
원격 DC 상태 검사
dcdiag.exe /s:dc01 /u:dc01\Administrator /p:password
로컬로 실행되며 도메인 컨트롤러가 아닌 DCPromo 및 Register in DNS은 /s 스위치에 영향을 받지 않습니다.
/u(사용자 이름) 정보를 입력할 때 도메인 관리자 권한이 있는 계정 이름을 지정하고 올바른 형식을 사용해야 한다는 점에 유의하세요: domain/username. 따라서 예를 들어 도메인 이름(dc01)과 사용자 이름(Administrator)을 추가합니다: /u:dc01\Administrator.
모든 DC의 상태 확인
각 AD 사이트를 서로 연결하여 DC 모음을 포함할 수 있습니다. AD를 사이트로 분할하는 경우 /a 스위치가 유용합니다. 이를 통해 모든 사이트 DC에 대해 DCDiag 유틸리티를 동시에 실행할 수 있습니다.
dcdiag.exe /s:dc01 /a
DCDiag를 사용하여 DNS 테스트
dcdiag.exe /s:dc01 /test:dns
기본적으로 실행되는 기본 테스트는 외부 이름 확인을 제외합니다. 모든 DNS 결과는 DNSBasic 테스트를 표시합니다. 값이 없으면 /test:dns 스위치는 자동으로 /DNSall로 기본값이 설정됩니다. DCDiag 도구를 사용할 때 호출하는 몇 가지 DNS 특정 테스트는 다음과 같습니다.
- /DNSBasic – 도메인 컨트롤러의 DNS 서버가 올바르게 구성되어 있고 이름을 확인하는지 확인합니다.
- /DnsDelegation– DNS 위임이 도메인 컨트롤러에 대해 올바르게 구성되어 있는지 테스트합니다.
- /DnsForwarders – 도메인 컨트롤러에 대한 DNS 포워더가 올바르게 구성되어 있는지 확인합니다.
- /DnsDynamicUpdate – 도메인 컨트롤러가 DNS에 대한 동적 업데이트를 수행하는지 확인합니다.
- /DnsRecordRegistration – 도메인 컨트롤러의 DNS 등록이 최신 상태이고 정확한지 테스트합니다.
이러한 테스트는 도메인 컨트롤러의 DNS 구성이 올바르고 제대로 작동하고 있는지 확인합니다. DCDiag이 이러한 테스트 중에 문제를 발견하면 DCDiag은 Active Directory 및 기타 네트워크 서비스와 관련된 잠재적 문제를 방지하기 위해 즉시 문제를 해결합니다. DNS 테스트는 다음과 같아야 합니다:
DCDiag 결과 사용자 정의
DCDiag을 사용하면 결과를 보다 적거나 많은 정보를 표시하여 사용자 정의할 수 있습니다. 또한 결과를 나중에 분석하기 위해 내보낼 수 있습니다. 다음은 DCDiag 보고를 사용자 정의하는 방법에 대한 몇 가지 예입니다.
DCDiag을 조용 모드로 실행
조용한 /q 스위치는 출력 크기를 오류 메시지 목록만 표시하여 크기를 줄이는 데 매우 유용합니다. 다음은 조용 모드에서의 DCDiag 예입니다:
dcdiag.exe /s:dc01 /q
/q로 필터링된 출력은 다음과 같습니다:
자세한 출력으로 DCDiag 실행
/v 자세한 플래그를 추가하여 DCDiag를 자세한 출력으로 실행합니다. 이는 오류, 경고, 정보 메시지 등과 같은 일상적인 작업에 대한 더 많은 정보를 제공합니다. /v 스위치는 조용한 /q 스위치의 반대입니다.
이전에 언급했듯이, DCDiag( /v 없음)는 도메인 컨트롤러의 문제를 식별하고 해결하는 데 충분한 세부 사항을 제공하며, 대부분의 상황에서 충분할 수 있습니다. 여기 자세한 스위치가 있는 스니펫의 예가 있습니다:
dcdiag.exe /s:dc01 /v
/v 스위치가 있는 출력은 다음과 같아야 합니다:
우리는 표준 요약 표에서 경고나 오류를 보고 문제를 보다 자세히 조사하려는 경우에만 자세한 출력을 권장합니다.
DCDiag 결과 내보내기
DCDiag 유틸리티 도구를 사용하면 건강 상태 검사 결과를 내보낼 수 있습니다. 예를 들어 /f 스위치를 DCDiag 명령에 추가하여 모든 테스트 결과를 텍스트 파일에 저장할 수 있습니다. 예:
dcdiag.exe /s:dc01 f:c:\dcdiag_dc01_test01.txt
참고로 우리는 로그 파일의 이름을 사용자 정의하고 특정 폴더에 저장합니다. 결과를 메모장이나 .txt 파일을 지원하는 모든 프로그램에서 엽니다.
결과를 XLSX 또는 XML로 내보낼 수도 있습니다. 그러나 이 기능은 /test:dns 스위치에만 작동합니다:
dcdiag.exe /test:dns /x or, /test:dns/x:
DCDiag는 단순히 진단 도구일 뿐입니다. 따라서 다양한 테스트를 수행하고 결과만 제공합니다. 그러나 /fix 스위치는 문제를 안전하게 수정하려고 시도하는 훌륭한 스위치입니다.
dcdiag.exe /s:dc01 /fix
/fix 스위치를 사용할 때 추가 매개변수나 특성을 제공할 필요가 없습니다. MachineAccount 테스트의 경우 /f 스위치만 작동합니다. 이 스위치는 DC의 MachineAccount 개체의 Service Principal Names (SPNs)을 수정합니다.
PowerShell로 DCDiag 사용하기
윈도우에는 DCDiag과 대응하는 기능이 없습니다. PowerShell에서는 DCDiag을 사용하기 위해 dcdiag.exe 명령어를 Invoke-Expression 또는 Invoke-Command cmdlets와 함께 적절한 매개변수를 사용합니다. 다음은 PowerShell에서 DCDiag을 사용하여 DNS 테스트를 실행하는 방법의 예입니다:
Invoke-Expression "dcdiag.exe /test:DNS /v"
이 예에서는 Invoke-Expression cmdlet을 사용하여 dcdiag.exe 명령어를 /test:DNS 매개변수와 함께 실행하여 DNS 테스트를 실행하고, /v 매개변수를 사용하여 자세한 출력을 제공했습니다. 물론 /test:DNS를 다른 DCDiag 테스트로 대체할 수 있습니다. 또는 Invoke-Command cmdlet을 사용하여 원격 컴퓨터에서 DCDiag을 실행할 수 있습니다.
다음은 또 다른 예입니다:
Invoke-Command -ComputerName "ServerName" -ScriptBlock { dcdiag.exe /test:DNS /v }
이전 예제에서는 -ScriptBlock 매개 변수를 사용하여 원격 컴퓨터에서 실행할 코드를 지정하는 데 Invoke-Command을 사용했습니다. -ScriptBlock 매개 변수는 중괄호 {}로 묶인 코드 블록인 스크립트 블록을 사용합니다.
-ScriptBlock 매개 변수와 함께 Invoke-Command를 사용하면 스크립트 블록을 -ComputerName 매개 변수로 지정한 원격 컴퓨터에서 실행하고 스크립트 블록은 로컬 컴퓨터로 출력을 반환합니다. Invoke-Command에서 -ScriptBlock 매개 변수를 사용하면 원격 컴퓨터에서 명령 또는 스크립트를 실행하는 강력한 방법입니다. DCDiag 도구를 사용한 것처럼 네트워크 환경에서 대량의 컴퓨터를 관리하는 데 도움이 됩니다.
DCDiag: PowerShell을 사용하여 도메인 컨트롤러 상태를 확인하는 방법을 읽어주셔서 감사합니다. 이제 기사를 마치겠습니다.
이것도 읽어보세요 도메인 컨트롤러 보안 모범 사례 – 하드닝 (체크리스트)
결론적으로, DCDiag는 Active Directory 환경을 관리하는 관리자들에게 필수적인 도구입니다. 도메인 컨트롤러에 대한 건강 진단을 제공하여 관리자들이 문제를 진단하고 디버깅하기 쉽게 도와줍니다. DNS, 복제, LDAP, 보안 등과 관련된 상세한 테스트를 수행할 수 있는 능력으로 인해 DCDiag는 도메인 컨트롤러와 Active Directory 환경의 건강과 안정성을 보장하는 데 가치 있는 도구입니다.
Source:
https://infrasos.com/dcdiag-how-to-check-domain-controller-health-using-powershell/