【发布时间】:2010-10-25 13:40:30
【问题描述】:
我有一个普通用户需要能够运行的应用程序,但需要管理员权限才能实际运行。
我试图让我的用户使用“以管理员身份运行”来运行它,但这只会在他们尝试运行应用程序时导致 UAC 提示。
是否有任何方法可以通过编程方式提升权限,而我的用户无需通过 UAC 提示和/或知道管理员密码?从安全的角度来看,我知道大多数应用程序不应该被允许这样做,所以我希望如果我能提供一个有效的用户名/密码对,或者其他东西,有一些方法可以做到这一点。
该应用程序是用 C# 编写的,因此最好使用完全托管的解决方案,但 p/Invoke Black Magic(或者甚至编写一个我们不谈论的 MC++ 包装器 strong>) 比完全禁用 UAC更可以接受。
【问题讨论】:
-
我不明白。如果您的应用程序可以做到这一点,那么如何防止任何应用程序(包括恶意软件)做同样的事情?那岂不是就败诉了吗?
-
Greg D:这就是我提到用户名/密码对的原因。我猜大多数启用 UAC 的管理员不会将这些提供给不需要它的东西。
-
当您以管理员身份登录时,UAC 不会要求您输入密码。它只会征求您的同意。
标签: windows-vista uac