我有一个具有以下权限的密钥:
Allow SYSTEM FullControl
Allow Administrators FullControl
Allow Users FullControl
Deny Everyone FullControl
Owner: User
User
是Users group
的成员。
如何使用C#更改此密钥的权限?
我在C#中看到有一个名为SetAccessRules()
的方法,但我无法读取密钥,所以我无法使用它!
答案 0 :(得分:2)
你不能
如果您的进程无权读取注册表项,则您当然没有足够的权限来更改该项的权限。基本上,权限级别如下:
读取显然会允许您读取密钥,写入允许您修改密钥(并隐式读取它们),完全控制允许您更改权限,以及隐式读取或修改密钥。
为了能够执行您要执行的操作,您的进程必须具有该密钥的完全控制权限,或者与可以授予您对密钥所需权限的系统管理员联系。
根据您在问题中提供的信息,我会质疑您为什么要这样做。您是否采取了正确的行动方案来解决您所遇到的根本问题?你试图解决的实际根本问题是什么,因为解决这个问题的方法可能比你在这里尝试做的更好。