如何提升我可以传入管理员密码的进程,以便 UAC 不必要求它



我有一个普通用户会运行的exe,但它需要合并一个REG文件,这需要UAC弹出窗口询问管理员密码,我不想提供给用户。

有没有办法让我在process.StartInfo中输入密码,这样UAC就不必索要密码了?

如果我这样做:

process.StartInfo.Domain    = "XYZ";
process.StartInfo.UserName  = "admin";
process.StartInfo.Password  = "";

它告诉我需要被隔离。

我还试图模拟管理员帐户,然后:

process.StartInfo.Verb      = "runas";
process.start() 

但它将崩溃:

未处理的异常:系统。组件模型。Win32Exception:未知错误(0xfffffffe)

不,你不能那样做。如果你能轻易绕过UAC,那就没有意义了

问题是,即使你知道密码,安全令牌也是用丢弃的权限创建的。当你登录到Windows时会发生这种情况:你提供了用户名和密码,但你不能立即获得所有管理员权限,你必须通过UAC确认进行提升。

相关内容

最新更新