2011-03-21 13 views
4

레지스트리 키의 사용 권한을 변경하려고하며이를 읽기 전용으로 설정하려고합니다. 어떻게해야합니까? 레지스트리 사용 권한 변경

나는이 방법을 시도하지만, 아무것도 변경하지 않습니다

또한
RegistryPermission rp = new RegistryPermission(
    RegistryPermissionAccess.Read, 
    "HKEY_LOCAL_MACHINE\\SOFTWARE\\paci_1\\identity\\ASPNET_SETREG" 
); 
rp.AddPathList(
    RegistryPermissionAccess.Read, 
    "HKEY_LOCAL_MACHINE\\SOFTWARE\\paci_1\\identity\\ASPNET_SETREG" 
); 

, 나는 등 사용자 나 관리자 또는 소유자를 위해 그것을 할 수 있습니까?

답변

2

내가 원하는 클래스는 RegistrySecurity라고 생각합니다. 문서화 된 내용은 here입니다.

은 다음과 비슷한 모습이 될 것입니다

물론
using(RegistryKey rk = 
    Registry.LocalMachine.OpenSubKey(@"SOFTWARE\paci_1\identity\ASPNET_SETREG")) 
{ 
    string gname = Environment.UserDomainName + @"\" + Environment.UserName; 
    RegistrySecurity rs = new RegistrySecurity(); 
    rs.AddAccessRule(new RegistryAccessRule(gname, RegistryRights.ReadKey, AccessControlType.Allow)); 
    rk.SetAccessControl(rs); 
} 

, 당신이 당신의 선택의 도메인 자격을 갖춘 사용자 이름 gname을 대체 할 것이다.

+1

'rk'에'Dispose'를 호출했는지 확인하십시오 (또는'using' 문에서 그 생성물을 감싸는 것). –

관련 문제