C# - 拒绝时更改权限注册表

时间:2014-09-02 10:05:37

标签: c# windows permissions

我有一个具有以下权限的密钥:

Allow SYSTEM FullControl
Allow Administrators FullControl
Allow Users FullControl
Deny Everyone FullControl
Owner: User

UserUsers group的成员。

如何使用C#更改此密钥的权限?

我在C#中看到有一个名为SetAccessRules()的方法,但我无法读取密钥,所以我无法使用它!

1 个答案:

答案 0 :(得分:2)

简短回答

你不能

长(呃)回答

如果您的进程无权读取注册表项,则您当然没有足够的权限来更改该项的权限。基本上,权限级别如下:

  • 完全控制

读取显然会允许您读取密钥,写入允许您修改密钥(并隐式读取它们),完全控制允许您更改权限,以及隐式读取或修改密钥。

为了能够执行您要执行的操作,您的进程必须具有该密钥的完全控制权限,或者与可以授予您对密钥所需权限的系统管理员联系。

根据您在问题中提供的信息,我会质疑您为什么要这样做。您是否采取了正确的行动方案来解决您所遇到的根本问题?你试图解决的实际根本问题是什么,因为解决这个问题的方法可能比你在这里尝试做的更好。