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

时间:2012-09-12 00:02:44

标签: .net uac

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

我可以通过process.StartInfo传递密码,以便UAC不必要求输入密码吗?

如果我这样做:

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

它告诉我,我需要得到平衡。

我还试图冒充管理员帐户,然后:

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

但它会崩溃:

  

未处理的异常:System.ComponentModel.Win32Exception:未知错误(0xfffffffe)

1 个答案:

答案 0 :(得分:1)

不,你不能这样做。如果您可以轻松绕过UAC,那就没有意义了。

即使您知道密码,也会使用已删除的权限创建安全令牌。这是当您登录Windows时发生的情况:您提供了用户名和密码,但您没有立即获得所有管理员权限,您必须通过UAC确认提升。