Microsoft MVP성태의 닷넷 이야기
오류 유형: 164. Active Directory - Functional Level 승격이 안 되는 문제 [링크 복사], [링크+제목 복사],
조회: 28073
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

(시리즈 글이 2개 있습니다.)
오류 유형: 164. Active Directory - Functional Level 승격이 안 되는 문제
; https://www.sysnet.pe.kr/2/0/1348

오류 유형: 933. Active Directory - The forest functional level is not supported.
; https://www.sysnet.pe.kr/2/0/13812




Active Directory - Functional Level 승격이 안 되는 문제

윈도우 2012로 마이그레이션 하기 전에, 윈도우 2008 R2 Active Directory 서버의 (2003으로 설정된) 기능 수준을 승격시키려고 했습니다.

이를 위해, 다음과 같이 "Active Directory Domains and Trusts"에서 "Raise Forest Functional Level.." 메뉴를 선택하고,

ad_forest_up_1.png

R2 기능 수준으로 맞추고 "Raise" 버튼을 눌렀습니다.

ad_forest_up_2.png

음... ^^ 그런데, 무심한 AD는 다음과 같은 오류를 내뱉을 뿐이었습니다.

The functional level could not be raised. The error is: The requested FSMO operation failed. The current FSMO holder could not be contacted.


이벤트 로그를 보니, 다음과 같은 식의 경고가 발생한 기록이 있습니다.

Ownership of the following FSMO role is set to a server which is deleted or does not exist. 
 
Operations which require contacting a FSMO operation master will fail until this condition is corrected. 
 
FSMO Role: CN=Schema,CN=Configuration,DC=test,DC=com 
FSMO Server DN: CN=NTDS Settings\0ADEL:751d37c1-92b6-43f1-a3fb-d5a36e971142,CN=[AD서버이름],CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com 
 
User Action: 
 
1. Determine which server should hold the role in question. 
2. Configuration view may be out of date. If the server in question has been promoted recently, verify that the Configuration partition has replicated from the new server recently.  If the server in question has been demoted recently and the role transferred, verify that this server has replicated the partition (containing the latest role ownership) lately. 
3. Determine whether the role is set properly on the FSMO role holder server. If the role is not set, utilize NTDSUTIL.EXE to transfer or seize the role. This may be done using the steps provided in KB articles 255504 and 324801 on http://support.microsoft.com. 
4. Verify that replication of the FSMO partition between the FSMO role holder server and this server is occurring successfully. 
 
The following operations may be impacted: 
Schema: You will no longer be able to modify the schema for this forest. 
Domain Naming: You will no longer be able to add or remove domains from this forest. 
PDC: You will no longer be able to perform primary domain controller operations, such as Group Policy updates and password resets for non-Active Directory Domain Services accounts. 
RID: You will not be able to allocation new security identifiers for new user accounts, computer accounts or security groups. 
Infrastructure: Cross-domain name references, such as universal group memberships, will not be updated properly if their target object is moved or renamed.

마침 얼마 전에, 2대의 AD 중에서 한 개를 임의로 삭제했던 기억이 났는데요. 그렇게 되면, 당연히 BDC로 운영되던 AD가 PDC로 승격될 줄 알았는데... 현재는 그렇지 못하다는 것을 나타내는 것 같았습니다.

그래서, 명시적으로 PDC로 올리기 위한 글을 검색해 봤는데요.

Seize the Operations Master Role
; https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc816779(v=ws.10)

설명된 대로, 다음과 같은 일련의 명령을 실행했습니다.

C:\Windows\system32>ntdsutil
ntdsutil: activate instance ntds
Active instance set to "ntds".
ntdsutil: Roles
fsmo maintenance: Connections
server connections: Connect to server [AD서버이름]
Binding to [AD서버이름] ...
Connected to [AD서버이름] using credentials of locally logged on user.
server connections: quit
fsmo maintenance: Seize naming master
Attempting safe transfer of domain naming FSMO before seizure.
FSMO transferred successfully - seizure not required.
Server "[AD서버이름]" knows about 5 roles
...[생략]...

fsmo maintenance: seize schema master
Attempting safe transfer of schema FSMO before seizure.
FSMO transferred successfully - seizure not required.
Server "[AD서버이름]" knows about 5 roles
...[생략]...
fsmo maintenance:

위와 같은 식으로 문서에 따라, "Seize infrastructure master", "Seize pdc", "Seize rid master" 명령을 내려주었습니다.

자, 다시 "raise forest functional level"을 실행하면 ^^ 깔끔하게 성공!




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 2/5/2025]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 106  107  108  109  [110]  111  112  113  114  115  116  117  118  119  120  ...
NoWriterDateCnt.TitleFile(s)
11174정성태4/3/201719396VC++: 116. Visual Studio 단위 테스트 - Failed to set up the execution context to run the test
11173정성태4/3/201722966VC++: 115. Visual Studio에서 C++ DLL을 대상으로 단위 테스트할 때 비정상 종료한다면?파일 다운로드1
11172정성태4/3/201722099.NET Framework: 651. C# - 특정 EXE 프로세스를 종료시킨 EXE를 찾아내는 방법파일 다운로드1
11171정성태3/31/201718801VS.NET IDE: 114. Visual Studio 디버깅 경고 창 - You are debugging a Release build of ...
11170정성태3/31/201720690.NET Framework: 650. C# - CachedAnonymousMethodDelegate 유형의 코드 생성
11169정성태3/30/201720550VC++: 114. C++ vtable의 가상 함수 호출 가로채기파일 다운로드1
11168정성태3/29/201723886VC++: 113. C++ 클래스 상속 관계의 vtable 생성 과정
11167정성태3/28/201724182VC++: 112. C++의 가상 함수 테이블 (vtable)은 언제 생성될까요? [2]
11166정성태3/28/201718416오류 유형: 382. System.Data.SqlClient.SqlException - Arithmetic overflow error converting IDENTITY to data type int.
11165정성태3/27/201721701오류 유형: 381. Visual C++에서 min, max 함수를 사용한 경우 C2589, C2059 컴파일 오류 발생
11164정성태3/27/201730019VC++: 111. C++ 클래스의 상속에 따른 메모리 구조 [2]파일 다운로드1
11163정성태3/25/201719805VC++: 110. CreateThread Win32 API에 C++ 클래스의 멤버 함수를 전달하는 방법파일 다운로드1
11162정성태3/24/201724037오류 유형: 380. Visual Studio 빌드 실패 - The OutputPath property is not set for project
11161정성태3/24/201716764오류 유형: 379. ICOMAdminCatalog.GetCollection 호출 시 0x80070422 예외 발생
11160정성태3/23/201721684.NET Framework: 649. ASP.NET - Server cannot append header after HTTP headers have been sent. (HTTP 헤더를 보낸 후에는 서버에서 헤더를 추가할 수 없습니다.)파일 다운로드1
11159정성태3/23/201718972Windows: 136. Memory-mapped File은 Private Bytes 크기에 포함될까요?파일 다운로드1
11158정성태3/22/201718619디버깅 기술: 85. Windbg - SOS 디버깅 사례 System.NullReferenceException 예외 추적
11157정성태3/22/201721863.NET Framework: 648. Dictionary<TKey, TValue>를 deep copy하는 방법파일 다운로드1
11156정성태3/21/201722489.NET Framework: 647. 닷넷(C#) 코드로 인증서 요청 코드 만드는 방법파일 다운로드1
11155정성태3/21/201722693.NET Framework: 646. SslStream의 CipherAlgorithm 선택이 가능할까요?파일 다운로드1
11154정성태3/5/201729696VC++: 109. DLL에서 STL 객체를 인자/반환값으로 갖는 함수를 제공할 때, 그 함수를 외부에서 사용하는 경우 비정상 종료한다면? [2]파일 다운로드1
11153정성태3/5/201729068VC++: 108. DLL에 정의된 C++ template 클래스의 복사 생성자 문제파일 다운로드1
11152정성태3/4/201722743VC++: 107. VirtualAlloc, HeapAlloc, GlobalAlloc, LocalAlloc, malloc, new의 차이점파일 다운로드1
11151정성태3/3/201723331VC++: 106. DLL 개발자가 주의해야 할 Secure CRT 함수 사용 [1]파일 다운로드1
11150정성태2/21/201719275.NET Framework: 645. Visual Studio Fakes 기능에서 Shim... 클래스가 생성되지 않는 경우 [5]
11149정성태2/21/201722945오류 유형: 378. A 64-bit test cannot run in a 32-bit process. Specify platform as X64 to force test run in X64 mode on X64 machine.
... 106  107  108  109  [110]  111  112  113  114  115  116  117  118  119  120  ...