2017-12-28 2 views
0

C : \ Windows \ System32 \ inetsrv \ config 폴더에 권한을 부여하려고합니다. 하지만 아래의 코드를 사용하면 "권한없는 작업을 시도했습니다."예외가 발생합니다.C# asp.net을 사용하여 C : Windows System32 inetsrv config 폴더의 액세스 제어를 얻는 방법

string desktopFolderPath = @"C:\Windows\System32\inetsrv\config"; 

     FileSystemAccessRule iis_iusrs = new FileSystemAccessRule("IIS_IUSRS", 
      FileSystemRights.FullControl, 
      InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, 
      PropagationFlags.None, 
      AccessControlType.Allow); 

     FileSystemAccessRule networkService = new FileSystemAccessRule("NETWORK SERVICE", 
      FileSystemRights.FullControl, 
      InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, 
      PropagationFlags.None, 
      AccessControlType.Allow); 

     System.IO.DirectoryInfo desktopFolderDirectory = new System.IO.DirectoryInfo(desktopFolderPath); 
     DirectorySecurity directorySecurity = null; 

directorySecurity = desktopFolderDirectory.GetAccessControl(); -- **Exception** 
      directorySecurity.AddAccessRule(iis_iusrs); 
      directorySecurity.AddAccessRule(networkService); 
      desktopFolderDirectory.SetAccessControl(directorySecurity); 

누구나 도움을주십시오. 미리 감사드립니다.

+0

에서 호스팅 페이지를 시도하지 않을 수 있습니다입니다 그런데

? – Jim

+0

왜 asp.net 사이트에서 windows level foleer에 액세스하려고합니까? – programtreasures

+0

@Jim 클라이언트 시스템에서이 코드를 실행하고 싶습니다. 따라서 관리자가 아니지만이 작업을 수행하고 싶습니다. 내가 어떻게 할 수 있니? –

답변

0

폴더 경로 Properties으로 이동하여 읽기 전용 확인란이 선택 취소되어 있는지 확인하십시오. inetsrv properties

이 약간의 도움이 될 수 있습니다 link

는, 다음 폴더를 공유하려고하지 않습니다. 이 시스템 폴더, 그것은 액세스 할 수 있습니다, 그래서 당신이 관리자로 코드를 실행하고 있습니까 C:\inetpub

+0

폴더를 읽기 전용으로 설정할 권한이 없습니다. –

+0

좋습니다. 다음을 읽어보십시오. [link] (https://blogs.iis.net/wonyoo/workaround-running-asp-net-1-1-on-vista-sp2-ws08-sp2) - 도움이 될 수 있습니다. –

관련 문제