2012-09-11 3 views
2

Active Directory 구조, 사용자 및 그룹 생성, 사용자를 다른 그룹에 할당하는 것과 같이 도메인에서 사용자를 분리하기위한 여러 가지 작업을 수행하는 데 사용되는 응용 프로그램이 있습니다.도메인간에 폴더 사용 권한 설정

AD에서 모든 것이 만들어지면 새로 만든 AD 그룹 중 하나에 대해 새로 만든 폴더에 대한 액세스 권한을 할당하려고합니다.

도메인의 컴퓨터에 로그온 한 다음 응용 프로그램을 실행하지 않고 다른 도메인의 로컬 컴퓨터에서 응용 프로그램을 실행하고 싶습니다.

내 응용 프로그램의 모든 항목이 액세스 규칙을 설정하는 것 외에는 로컬 컴퓨터에서 제대로 작동하는 것 같습니다. 이는 다음과 같이 실패합니다.

"일부 또는 모든 ID 참조를 번역 할 수 없습니다."

도메인 내에서 실행하면 코드가 제대로 작동합니다. 나는 또한 가장을 사용하여 시도했지만 아무런 차이가 없습니다.

if (Directory.Exists(sDirectory)) 
    { 
     using (Impersonation impUser = new Impersonation(sAdminUserName, _sDomain, sAdminPassword)) 
     { 
     DirectoryInfo diClientDirectory = new DirectoryInfo(sDirectory); 
     DirectorySecurity dsClientDirectory = diClientDirectory.GetAccessControl(); 
     FileSystemAccessRule fsAccessRules = new FileSystemAccessRule(sSecurityGroup, FileSystemRights.FullControl, (InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit), PropagationFlags.InheritOnly, AccessControlType.Allow); 

     **dsClientDirectory.AddAccessRule(fsAccessRules); //THIS LINE THROWS THE EXCEPTION** 
     diClientDirectory.SetAccessControl(dsClientDirectory); 
     } 

답변

0

이것은 대개 사용 권한이 부여 된 그룹이 대상 컴퓨터에서 존재하지 않거나 확인할 수 없음을 의미합니다. 해당 이름을 가진 대상 도메인에 그룹이 있는지 또는 도메인간에 적절한 신뢰 관계가 있는지 확인하십시오.

+0

그러나 언급했듯이 코드는 도메인 내의 컴퓨터에서 실행될 때 성공적으로 실행되므로 기존 그룹이 아닌 그룹에 대한 첫 번째 제안이 될 가능성이 낮다고 생각 했겠지만 그렇게하지 않으면 실패해야합니다. 이 그룹은 코드 초기에 생성되었거나 테스팅 중 일주일 전에 작성되었으므로 확실히 존재합니다! 그것은 해상도 문제가 될 수 있지만 ... 다른 모든 operatins는 AD 객체와 디렉토리 자체를 만드는 것처럼 작동하므로 신뢰가 괜찮다고 생각했을 것입니다. – RobBlankson

0

akton이 말한 것처럼 광고 간의 신뢰 관계를 확인하십시오.

또한 실행중인 환경을 확인하십시오. C#을 통해 AD에 접속해야 할 때 이런 종류의 문제가 발생했습니다 : 사용자가 다른 AD에서 이러한 종류의 수정을 수행 할 수있는 권한이 없으면 실패합니다.

그리고 마지막 지점 인 그룹 이름과 경로. 귀하의 그룹 이름에 도메인 이름 (sSecurityGroup)이 포함되어 있습니까? 디렉터리 경로에 경로 문제 (sDirectory)가 있습니까?

+0

유일한 허락을 사용하고 있습니다. 나는 가장을 사용하려고 시도 했으므로 도메인 B의 컴퓨터에 RDP를 사용하고 거기에서 앱을 실행하는 사용자로 가장하여 권한을 사용자가 가지고 있다고 생각했을 것입니다. 오류. 그룹 이름에 도메인 이름을 넣지 않았으므로이를 시도 할 것입니다. 코드를 단계별로 실행할 때 디렉토리 경로가 제대로 표시되지만 정규화 된 디렉토리 경로로 시도합니다. 감사 – RobBlankson