我想知道我是否可以运行没有管理员权限的程序? 我试图从System32运行程序regedit。 我也尝试将其复制到USB上并从那里运行,两者都没有用。 有人可以帮我用C#脚本运行regedit吗?
答案 0 :(得分:8)
答案:不,如果没有管理员权限,就无法运行regedit.exe。
您可以做的是使用C#,使用允许您访问注册表的预构建库 http://msdn.microsoft.com/en-us/library/microsoft.win32.registry.aspx
请注意,您只对HKEY_LOCAL_USER具有读/写权限,对其他所有内容只有READONLY。
答案 1 :(得分:2)
一个现代的regedit.exe(即Vista + with UAC on )有一个不幸的想法,它必须“作为管理员”运行 - 我不确定它是否必须在技术上是正确的“管理员”,但this issue is a result of UAC并且海拔失败。
这是一个愚蠢的人为限制,因为用户可以访问(只读)大多数注册表位置并写入HKCU 。但是,除了禁用需要管理员权限并且可能不可取的UAC之外,我不知道如何绕过对regedit.exe的这种限制。
答案 2 :(得分:2)
通过以非管理员身份启动regedit,您可以在没有管理权限的情况下运行regedit。如果以管理员用户身份启动它,则会收到UAC提示,但如果以普通用户身份启动,则不会得到提示,并且HKEY_CURRENT_USER以外的大多数内容都是只读的。
regedit.exe标有<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
,只有当前用户是管理员时才会要求管理员权限。
如果您真的需要以没有管理员权限的管理员用户身份运行regedit,根据this thread,您可以使用Compatibility Administrator工具将系统配置为忽略requestedExecutionLevel
。< / p>