使用管理权限启动我的C#应用​​程序

时间:2015-04-18 21:30:27

标签: c# windows admin uac

我有一个应用程序,我需要通过SCCM分发到我的业务领域的5000台计算机,并且我遇到了Windows安全问题。关键是我的应用程序需要管理权限才能访问注册表项并启动一些特定的"本地系统和域中的所有用户(当然除了IT支持团队)都没有这样的权限。

我想知道我可以在启动时启动Windows调用启动器,此启动器将在应用程序的服务器上获得管理员用户名和密码,然后使用这些凭据运行应用程序。但是,一旦我使用C#(我是java程序员),我就无法执行此任务,并且我还没有找到任何方法将runas命令与用户名和密码信息一起使用

另一方面,如果我可以使用管理员权限而没有恼人的Windows UAC提示,那将是完美的。

有人能帮助我吗?

2 个答案:

答案 0 :(得分:0)

我不确定我会说些什么,但只做了一些可能对你有帮助的研究。

您可以尝试安排任务来运行您的程序,并在启动时将此计划配置为使用管理员权限运行。

Scheduling a task

然后,您唯一需要关注的是如何为所有计算机轻松编写此任务。

希望这有助于你

答案 1 :(得分:0)

如果您的应用程序必须以管理员身份运行才能正常运行:请告诉Windows:

<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

因此,如果我是标准用户(即不是管理员),并且尝试使用您的程序:系统将提示我让管理员来我办公桌并输入其凭据,以便我可以运行您的程序

该程序仅具有管理员权限的缺点是标准用户无法运行您的程序。

您可以尝试关闭UAC;但这并不能解决任何问题。 UAC是生活质量功能。

  • 如果我关闭UAC
  • 我仍然是标准用户
  • 除了现在我必须以管理员身份注销并登录

正确 解决方案是让您的程序以标准用户身份运行。