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

비밀번호

댓글 작성자
 




... 91  92  93  94  95  [96]  97  98  99  100  101  102  103  104  105  ...
NoWriterDateCnt.TitleFile(s)
11535정성태6/7/201823414.NET Framework: 759. C# - System.Span<T> 성능 [1]
11534정성태6/6/201829171.NET Framework: 758. C# 7.2 - Span<T> [6]
11533정성태6/5/201831729.NET Framework: 757. 포인터 형 매개 변수를 갖는 C++ DLL의 함수를 C#에서 호출하는 방법파일 다운로드1
11532정성태6/5/201821756.NET Framework: 756. JSON의 escape sequence 문자 처리 방식
11531정성태6/4/201826047오류 유형: 468. JSON.parse가 허용하지 않는 문자 [9]
11530정성태5/31/201826095.NET Framework: 755. C# 7.2 - 스택에만 생성할 수 있는 값 타입 지원 - "ref struct" [2]파일 다운로드1
11529정성태5/23/201823402.NET Framework: 754. 닷넷의 관리 포인터(Managed Pointer)와 System.TypedReference [6]파일 다운로드1
11528정성태5/17/201822927.NET Framework: 753. C# 7.2 - 3항 연산자에 ref 지원(conditional ref operator) [1]
11527정성태5/17/201820574오류 유형: 467. RDP 로그인 에러 - This could be due to CredSSP encryption oracle remediation.
11526정성태5/16/201820662.NET Framework: 752. C# 7.2 - 메서드의 반환값 및 로컬 변수에 ref readonly 기능 추가파일 다운로드1
11525정성태5/16/201824718.NET Framework: 751. C# 7.2 - 메서드의 매개 변수에 in 변경자 추가 [3]파일 다운로드1
11524정성태5/15/201823632.NET Framework: 750. C# 7.2 - readonly 구조체 [5]파일 다운로드1
11523정성태5/15/201821413.NET Framework: 749. C# - 값 형식의 readonly 인스턴스에 대한 메서드 호출 시 defensive copy 발생 [1]파일 다운로드1
11522정성태5/15/201819156개발 환경 구성: 378. Azure - VM 진단 설정 화면의 "This subscription is not registered with the Microsoft.Insights resource provider."
11521정성태5/15/201818223개발 환경 구성: 377. Azure - 원하는 성능 데이터로 모니터링 대시보드 구성
11520정성태5/12/201819747.NET Framework: 748. C# 7.1 - 참조 어셈블리(Ref Assemblies)
11519정성태5/12/201821411개발 환경 구성: 376. ASP.NET Web Application 프로젝트의 FileSystem 배포(Publish) 시 Before/After Task 설정 방법 [1]
11518정성태5/10/201819736.NET Framework: 747. C# 7.0에서도 부분적으로 가능해진 "타입 추론을 통한 튜플의 변수명 자동 지정"
11517정성태5/10/201818797.NET Framework: 746. Azure runbook 예제 - 6시간 동안 수행 중인 VM을 중지 [1]파일 다운로드1
11516정성태5/9/201818947.NET Framework: 745. Azure runbook을 PowerShell 또는 C# 코드로 실행하는 방법파일 다운로드1
11515정성태5/9/201821372.NET Framework: 744. C# 6 - Expression bodied function [1]
11514정성태5/3/201819479오류 유형: 466. Bitvise - Error in component session/transport/kexHandler [2]
11513정성태5/3/201826373.NET Framework: 743. C# 언어의 공변성과 반공변성 [9]파일 다운로드2
11512정성태5/2/201818514개발 환경 구성: 375. Azure runbook 실행 시 "Errors", "All Logs"에 오류 메시지가 출력되는 경우
11511정성태5/2/201820631개발 환경 구성: 374. Azure - Runbook 기능 소개
11510정성태4/30/201821736.NET Framework: 742. windbg로 확인하는 Finalizer를 가진 객체의 GC 과정파일 다운로드1
... 91  92  93  94  95  [96]  97  98  99  100  101  102  103  104  105  ...