Windows Server 2008에서 명령을 실행할 Adprep /rodcprep
때 오류 발생: Adprep에서 DC=DomainDnsZones,DC=Contoso,DC=com 파티션에 대한 복제본(replica) 연결할 수 없습니다.
이 문서에서는 하나 이상의 Active Directory NDNC에 대한 인프라 master 연결할 수 없기 때문에 명령이 성공적으로 완료되지 않은 문제를 Adprep /rodcprep
해결합니다.
적용 대상: Windows Server 2012 R2
원래 KB 번호: 949257
증상
Windows Server 2008에서 명령을 실행 Adprep /rodcprep
하면 다음 오류 메시지가 표시됩니다.
Adprep에서 DC=DomainDnsZones,DC=Contoso,DC=com 파티션에 대한 복제본(replica) 연결할 수 없습니다.
Adprep에서 DC=DomainDnsZones, DC=Contoso, DC=com 파티션에 대한 작업을 다음 파티션으로 건너뛰는 데 실패했습니다.
Adprep에서 파티션 DC=ForestDnsZones,DC=Contoso,DC=com에 대한 복제본(replica) 연결할 수 없습니다.
Adprep에 LDAP 오류가 발생했습니다. 오류 코드: 0x0. 서버 확장 오류 코드: 0x0, 서버 오류 메시지: (null).
Adprep에서 파티션 DC=ForestDnsZones, DC=Contoso, DC=com 다음 파티션으로 건너뛰기 작업에 실패했습니다.
Adprep이 오류와 함께 완료되었습니다. 모든 파티션이 업데이트되는 것은 아닙니다.
원인
이 문제는 명령이 포리스트의 Adprep /rodcprep
각 애플리케이션 파티션에 대한 인프라 master 연결하려고 할 때 발생합니다. 명령은 RODC(도메인 컨트롤러) 복제에 필요한 권한을 Read-Only 합니다. Adprep /rodcprep
다음 조건 중 하나가 true이면 명령이 실패합니다.
- 오류 메시지에서 참조되는 파티션 또는 파티션이 더 이상 존재하지 않습니다.
- 참조된 파티션 또는 파티션에 대한 인프라 master 강제로 강등되었거나 오프라인 상태입니다.
해결 방법
파티션이 더 이상 존재하지 않는 경우 이 문제를 resolve Dsmgmt 도구의 "nc 제거" 매개 변수를 사용하여 분리된 파티션에 대한 메타데이터 정리를 수행합니다. 자세한 내용을 확인하려면 다음 Microsoft 웹 사이트()를 방문하십시오.
지정된 파티션이 있는 경우 파티션에 대해 온라인 상태인 인프라 역할 소유자를 지정합니다. "추가 정보" 섹션에 설명된 대로 개체의 fSMORoleOwner 특성을 수동으로 수정하여 수행할 수 있습니다.
추가 정보
다음 스크립트 샘플에서는 지정된 NDNC(Non-Domain Naming Context)의 인프라 개체에 대한 fSMORoleOwner 특성을 활성 또는 연락처 가능 서버로 수정합니다. 이 샘플의 NDNC는 DomainDnsZones,DC=contoso,DC=com NDNC 명명 컨텍스트입니다. 스크립트는 다음 명령을 사용합니다.
cscript fixfsmo.vbs DC=DomainDnsZones,DC=contoso,DC=com
'-------fixfsmo.vbs------------------
const ADS_NAME_INITTYPE_GC = 3
const ADS_NAME_TYPE_1779 = 1
const ADS_NAME_TYPE_CANONICAL = 2
set inArgs = WScript.Arguments
if (inArgs.Count = 1) then
' Assume the command line argument is the NDNC (in DN form) to use.
NdncDN = inArgs(0)
Else
Wscript.StdOut.Write "usage: cscript fixfsmo.vbs NdncDN"
End if
if (NdncDN <> "") then
' Convert the DN form of the NDNC into DNS dotted form.
Set objTranslator = CreateObject("NameTranslate")
objTranslator.Init ADS_NAME_INITTYPE_GC, ""
objTranslator.Set ADS_NAME_TYPE_1779, NdncDN
strDomainDNS = objTranslator.Get(ADS_NAME_TYPE_CANONICAL)
strDomainDNS = Left(strDomainDNS, len(strDomainDNS)-1)
Wscript.Echo "DNS name: " & strDomainDNS
' Find a domain controller that hosts this NDNC and that is online.
set objRootDSE = GetObject("LDAP://" & strDomainDNS & "/RootDSE")
strDnsHostName = objRootDSE.Get("dnsHostName")
strDsServiceName = objRootDSE.Get("dsServiceName")
Wscript.Echo "Using DC " & strDnsHostName
' Get the current infrastructure fsmo.
strInfraDN = "CN=Infrastructure," & NdncDN
set objInfra = GetObject("LDAP://" & strInfraDN)
Wscript.Echo "infra fsmo is " & objInfra.fsmoroleowner
' If the current fsmo holder is deleted, set the fsmo holder to this domain controller.
if (InStr(objInfra.fsmoroleowner, "\0ADEL:") > 0) then
' Set the fsmo holder to this domain controller.
objInfra.Put "fSMORoleOwner", strDsServiceName
objInfra.SetInfo
' Read the fsmo holder back.
set objInfra = GetObject("LDAP://" & strInfraDN)
Wscript.Echo "infra fsmo changed to:" & objInfra.fsmoroleowner
End if
End if
파티션에 대한 인프라 master 확인하려면 해당 명명 컨텍스트 루트 아래의 인프라 개체에서 fSMORoleOwner 특성을 쿼리합니다. 예를 들어 CN=Infrastructure,DC=DomainDnsZones,DC=contoso,DC=com 명명 컨텍스트 루트에서 fSMORoleOwner 특성을 쿼리하여 DC=DomainDnsZones,DC=contoso,DC=com 파티션에 대한 인프라 master 확인합니다. 마찬가지로 CN=Infrastructure,DC=ForestDnsZones,DC=contoso,DC=com 명명 컨텍스트 루트에서 fSMORoleOwner 특성을 쿼리하여 DC=ForestDnsZones,DC=contoso,DC=com 파티션에 대한 인프라 master 확인합니다.
LDP 도구, ADSI(Active Directory 서비스 인터페이스) 편집 도구 및 ldifde 도구와 같은 도구를 사용하여 이러한 쿼리를 수행할 수 있습니다. 예를 들어 다음 쿼리는 Idifde 도구를 사용합니다.
ldifde -f Infra_DomainDNSZones.ldf -d "CN=Infrastructure,DC=DomainDnsZones,DC=contoso,DC=com" -l fSMORoleOwner
이 쿼리는 DC=DomainDnsZones,DC=contoso,DC=com 파티션에 대한 인프라 master 역할 소유자를 Infra_DomainDNSZones.ldf 파일에 반환합니다.
참고
포리스트에 Adprep /rodcprep
해를 끼치지 않고 명령을 여러 번 실행할 수 있습니다. rodcprep 명령의 이전 실행에서 완료된 작업은 반복되지 않습니다.
격리된 환경에서 명령을 실행 rodcprep
하려는 경우 작업이 성공하려면 각 도메인 및 각 애플리케이션 디렉터리 파티션에 대한 인프라 master 환경 내에서 사용할 수 있어야 합니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기