Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

The SysVol Permissions for one or more GPOs on this domain controller and not in sync with the permissions for the GPOs on the Baseline domain controller.

지난 글에서,

Warning: DsGetDcName returned information for \[...], when we were trying to reach [...].
; https://www.sysnet.pe.kr/2/0/12183

문제를 수정하니, 새롭게 "SysVol"에 대해 "ACLs" 링크가 뜨는 단계로 넘어갔습니다.

ad_acl_sync_1.png

1 Domain controller(s) with replication in progress

The SysVol Permissions for one or more GPOs on this domain controller and not in sync with the permissions for the GPOs on the Baseline domain controller.

그러니까 SysVol 관련 폴더 중에,

NETLOGON     C:\WINDOWS\SYSVOL\sysvol\testad.com\SCRIPTS
SYSVOL       C:\WINDOWS\SYSVOL\sysvol       

접근 권한 설정이 동기화가 안 된다고 하는 것 같은데... 다행히 관련해서 찾아보면 답이 나옵니다.

Sysvol permissions for one or more GPO are not in sync
; https://social.technet.microsoft.com/Forums/windowsserver/en-US/f16b0af1-8772-4f96-a9ac-fac47943e8e9/sysvol-permissions-for-one-or-more-gpo-are-not-in-sync?forum=ws2016

그러니까, SysVol 관련 폴더에 대해 다음의 명령어를 각각 수행해 주면 됩니다.

icacls "{GPO UID}" /remove:g "<localdomain>\Domain Admins"
icacls "{GPO UID}" /grant "<localdomain>\Domain Admins":(OI)(CI)(F)

인자로 넘겨지는 "GPO UID"는 "C:\Windows\SYSVOL\sysvol\[localdomain]\Policies" 하위에 있는 폴더들입니다. 예를 들어, 제가 구성한 testad.com AD의 경우 다음과 같이 확인할 수 있습니다.

C:\Windows\SYSVOL\sysvol\testad.com\Policies>dir
 Volume in drive C has no label.
 Volume Serial Number is 6418-A8B8

 Directory of C:\Windows\SYSVOL\sysvol\testad.com\Policies

2013-08-22  오후 12:13    <DIR>          .
2013-08-22  오후 12:13    <DIR>          ..
2012-04-25  오후 08:33    <DIR>          {31B2F340-016D-11D2-945F-00C04FB984F9}
2013-08-22  오후 12:13    <DIR>          {5C2E45ED-7B54-4F33-93F4-FA2BF7FEDC21}
2012-03-12  오후 06:02    <DIR>          {6AC1786C-016F-11D2-945F-00C04fB984F9}
2012-03-12  오후 06:02    <DIR>          {EFAB19F9-E750-4C75-BB46-58A0CACBB66A}
               0 File(s)              0 bytes
               6 Dir(s)  18,722,938,880 bytes free

따라서, 각각의 GUID 이름의 폴더에 대해 다음과 같이 2번씩 명령어 수행을 해주면 됩니다.

C:\Windows\SYSVOL\sysvol\testad.com\Policies> icacls "{31B2F340-016D-11D2-945F-00C04FB984F9}" /remove:g "testad\Domain Admins"
C:\Windows\SYSVOL\sysvol\testad.com\Policies> icacls "{31B2F340-016D-11D2-945F-00C04FB984F9}" /grant "testad\Domain Admins":(OI)(CI)(F)

모두 적용한 후 동기화로 마무리를 하면,

c:\temp> repadmin /syncall
c:\temp> repadmin /syncall /AdePq

이제 Group Policy Management 화면에서 "Detect Now"로 다음과 같이 2개의 DC가 문제없이 동기화되었음을 확인할 수 있습니다.

ad_acl_sync_2.png




그런데, 궁금해서 GUID에 어떤 의미가 있는지 살펴봤습니다. ^^

Will SYSVOL translate a GPO GUID to NAME?
; https://deployhappiness.com/gpo-guid-to-name-powershell-quicktip/

위의 글에 따라, 각각의 GUID 값을 "Active Directory Module for Windows PowerShell" 환경에서 Get-GPO 명령어로 실행하면, 각각 다음과 같은 결과를 얻을 수 있습니다.

PS C:\temp> Get-GPO -GUID "{EFAB19F9-E750-4C75-BB46-58A0CACBB66A}"

DisplayName      : Policy for computers joined in TESTAD1
DomainName       : testad.com
Owner            : testad\Domain Admins
Id               : efab19f9-e750-4c75-bb46-58a0cacbb66a
GpoStatus        : AllSettingsEnabled
Description      :
CreationTime     : 2009-10-28 오전 9:53:25
ModificationTime : 2012-03-12 오후 4:33:21
UserVersion      : AD Version: 0, SysVol Version: 0
ComputerVersion  : AD Version: 0, SysVol Version: 0
WmiFilter        :


PS C:\temp> Get-GPO -GUID "{31B2F340-016D-11D2-945F-00C04FB984F9}"

DisplayName      : Default Domain Policy
DomainName       : testad.com
Owner            : testad\Domain Admins
Id               : 31b2f340-016d-11d2-945f-00c04fb984f9
GpoStatus        : AllSettingsEnabled
Description      :
CreationTime     : 2009-10-27 오후 4:09:21
ModificationTime : 2020-03-06 오전 9:59:04
UserVersion      : AD Version: 31, SysVol Version: 31
ComputerVersion  : AD Version: 87, SysVol Version: 87
WmiFilter        :

PS C:\temp> Get-GPO -GUID "{6AC1786C-016F-11D2-945F-00C04fB984F9}"

DisplayName      : Default Domain Controllers Policy
DomainName       : testad.com
Owner            : testad\Domain Admins
Id               : 6ac1786c-016f-11d2-945f-00c04fb984f9
GpoStatus        : AllSettingsEnabled
Description      :
CreationTime     : 2009-10-27 오후 4:09:21
ModificationTime : 2019-08-01 오후 2:49:01
UserVersion      : AD Version: 0, SysVol Version: 0
ComputerVersion  : AD Version: 6, SysVol Version: 6
WmiFilter        :

PS C:\temp> Get-GPO -GUID "{5C2E45ED-7B54-4F33-93F4-FA2BF7FEDC21}"

DisplayName      : GPO-firewall
DomainName       : testad.com
Owner            : testad\Domain Admins
Id               : 5c2e45ed-7b54-4f33-93f4-fa2bf7fedc21
GpoStatus        : AllSettingsEnabled
Description      :
CreationTime     : 2013-08-22 오후 12:13:42
ModificationTime : 2013-08-22 오후 12:13:47
UserVersion      : AD Version: 0, SysVol Version: 0
ComputerVersion  : AD Version: 0, SysVol Version: 0
WmiFilter        :

그러니까, 저 내용은 이 글의 첫 번째 이미지였던 "Replication in Progress - Details"에 나왔던 "GPO Name", "GPO GUID"의 내용과 동일합니다.




기타,,, 이 문제로 인터넷을 서핑하다가 알게 된 명령어 몇 개를 나열해 봅니다. ^^

PS C:\temp> Get-ADDomainController -Filter * | %{repadmin /syncall /edjQSA $_.hostname}
Syncing all NC's held on TESTAD1.testad.com.
Syncing partition: DC=ForestDnsZones,DC=testad,DC=com

Syncing partition: DC=DomainDnsZones,DC=testad,DC=com

Syncing partition: CN=Schema,CN=Configuration,DC=testad,DC=com

Syncing partition: CN=Configuration,DC=testad,DC=com

Syncing partition: DC=testad,DC=com

Syncing all NC's held on TESTAD2.testad.com.
Syncing partition: DC=DomainDnsZones,DC=testad,DC=com

Syncing partition: DC=ForestDnsZones,DC=testad,DC=com

Syncing partition: CN=Schema,CN=Configuration,DC=testad,DC=com

Syncing partition: CN=Configuration,DC=testad,DC=com

Syncing partition: DC=testad,DC=com

C:\temp> dfsrdiag syncnow /Partner:testad2.testad.com /RGName:"domain system volume" /Time:1 /verbose
[INFO] Duration in Minutes: 1, 1
[INFO] Computer Name: testad2
[INFO] Computer DNS: testad2.testad.com
[INFO] Domain DNS: testad.com
[INFO] Site Name: Default-First-Site-Name
[INFO] Computer Name: TESTAD1
[INFO] Computer DNS: testad1.testad.com
[INFO] Domain DNS: testad.com
[INFO] Site Name: Default-First-Site-Name
[INFO] Connected to WMI services on computer: testad1.testad.com
[INFO] Issuing query: SELECT * FROM DfsrConnectionInfo WHERE ReplicationGroupName="domain system volume" AND PartnerName="testad2" AND Inbound="true"
[INFO] Object Path: DfsrConnectionInfo.ConnectionGuid="D5E51877-29C4-4D30-9892-07A915E68686"
[INFO] Invoke ForceReplication() method on testad1.testad.com

[INFO] Execution Time: 0 seconds
Operation Succeeded

// 문제가 있을 때
C:\temp>nltest /query
Flags: 0
Connection Status = 1311 0x51f ERROR_NO_LOGON_SERVERS
The command completed successfully

C:\temp>nltest.exe /dsregdns
Flags: 0
Connection Status = 1311 0x51f ERROR_NO_LOGON_SERVERS
The command completed successfully

// 문제가 없을 때
C:\temp>nltest /query
Flags: 0
Connection Status = 0 0x0 NERR_Success
The command completed successfully




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

[연관 글]






[최초 등록일: ]
[최종 수정일: 3/12/2020]

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

비밀번호

댓글 작성자
 




... 151  152  153  154  155  156  [157]  158  159  160  161  162  163  164  165  ...
NoWriterDateCnt.TitleFile(s)
1163정성태10/31/201127363.NET Framework: 261. .NET 스레드 콜 스택 덤프 (3) - MSE 소스 코드 개선파일 다운로드1
1162정성태10/30/201127424.NET Framework: 260. .NET 스레드 콜 스택 덤프 (2) - Managed Stack Explorer 소스 코드를 이용한 스택 덤프 구하는 방법파일 다운로드1
1161정성태10/29/201124139.NET Framework: 259. Type.GetMethod - System.Reflection.AmbiguousMatchException파일 다운로드1
1159정성태10/28/201127704.NET Framework: 258. Roslyn 맛보기 - SyntaxTree 조작 [2]
1158정성태10/24/201126837.NET Framework: 257. Roslyn 맛보기 - Roslyn Symbol / Binding API파일 다운로드1
1157정성태10/23/201131422.NET Framework: 256. Roslyn 맛보기 - Syntax Analysis (Roslyn Syntax API) [2]
1156정성태10/23/201129966.NET Framework: 255. Roslyn 맛보기 - Roslyn Services APIs를 이용한 Code Issue 및 Code Action 기능 소개 [1]
1155정성태10/22/201127939.NET Framework: 254. Roslyn 맛보기 - C# Interactive (2)
1154정성태10/22/201134690.NET Framework: 253. Roslyn 맛보기 - C# Interactive (1)
1153정성태10/21/201143631.NET Framework: 252. Roslyn 맛보기 - C# 소스 코드를 스크립트처럼 다루는 방법 [7]파일 다운로드1
1152정성태10/20/201125055.NET Framework: 251. string.GetHashCode는 hash 값을 cache 할까?
1151정성태10/18/201124098Java: 13. 자바도 64비트에서 (2GB) OutOfMemoryException 예외가 발생할까?
1150정성태10/18/201131501.NET Framework: 250. WPF - ComboBox의 SelectionChagned 이벤트파일 다운로드1
1149정성태10/16/201127023.NET Framework: 249. WPF - d:DesignHeight 값을 구할 수 있을까?
1148정성태10/14/201132849Java: 12. 자바에서 LINQ 사용? [7]
1147정성태10/13/201128989.NET Framework: 248. 닷넷에서 지원되는 문자열 인코딩 이름 목록
1146정성태10/12/201134746.NET Framework: 247. LINQ에서의 Max 기능 구현 [10]파일 다운로드1
1144정성태10/10/201130400.NET Framework: 246. WCF - 서버 측에서의 유효한 Timeout 설정파일 다운로드1
1143정성태10/9/201135755.NET Framework: 245. ASP.NET 서버 측 코드에서 페이스북 계정 연동하는 방법
1142정성태10/8/201136406.NET Framework: 244. 윈도우 폼을 열고 닫는 것만으로 메모리 leak이 발생할까? [2]파일 다운로드1
1141정성태10/7/201134983.NET Framework: 243. DataTable에 대해서 Dispose 메서드를 호출할 필요가 있을까? [4]파일 다운로드1
1140정성태10/6/201128268.NET Framework: 242. 닷넷 개발자 입장에서 이해해 보는 자바의 서블릿, JSP
1138정성태10/1/201147131Java: 11. 웹 로직에서 MS-SQL 서버 연결 [2]
1137정성태9/30/201131422Java: 10. 닷넷 개발자가 설치해 본 Oracle WebLogic Server - 설치 및 기본 도메인 구성
1136정성태9/29/201127051개발 환경 구성: 131. Visual Studio - ASP.NET의 Code-behind처럼 cs 파일을 그룹핑하는 매크로 함수 [2]파일 다운로드1
1135정성태9/29/201124342오류 유형: 138. TF10216: Team Foundation services are currently unavailable
... 151  152  153  154  155  156  [157]  158  159  160  161  162  163  164  165  ...