始终以管理员身份运行程序

始终以管理员身份运行程序

有没有办法将应用程序配置为始终以管理员身份运行。我尝试使用兼容性管理员实用程序,但似乎仅适用于 Windows Vista 及更高版本。

由于某些打印机驱动程序需要管理员权限,应用程序崩溃了。

编辑:该应用程序的名称是 Zeh Raster,它在 Windows XP 上,我不希望每次需要运行该应用程序时都提供密码。

答案1

您可以使用运行方式命令创建以管理员权限启动的快捷方式。基本上,创建一个新的快捷方式,目标如下:

runas.exe /user:administrator c:\path\to\program.exe

答案2

无论您使用哪种方法(至少就我所知),恶意用户总会有办法滥用它并使用您的管理员帐户运行其他程序。因此,如果您有不受信任的技术娴熟的用户,请尝试尽可能锁定您使用的管理员帐户(或者如果可能,调整程序要写入的位置,以便非管理员可以在那里写入,并且程序无需管理员权限即可运行;使用 ProcMon 找到他们)。

  • 华人会计师协会可用于将带有凭据的程序存储在加密文件中,并使用凭据重新运行该程序,无需用户交互(例如从快捷方式)
  • 有一个名为 Win-SUDO 的程序声称可以模拟 Windows 的 SUDO - 但实际上它也只将凭据加密存储在注册表中,并且存储在可能使用 Win-SUDO 的用户可读取的位置。
  • 使用 runas 命令保存凭据savecred也可以,但您也可以通过这种方式以管理员身份运行其他程序。
  • 您还可以创建一个“计划”任务,该任务计划为永不运行,并使用用户的凭据运行,并在需要时手动启动它;此方法还存储了应该运行该任务的用户的凭据,但与 runas 命令不同,它不容易在不同进程中重复使用凭据。请注意,在 Windows XP 上无法以这种方式运行交互式进程(或者至少您无法与其交互)。

无论如何,正确的解决方案是尝试让原始程序在没有管理员权限的情况下运行,或者在不需要用户交互的情况下在后台将其作为服务运行。或者尝试让供应商提供一个无需管理员权限即可运行的修复版本,或者为需要它们的部分使用服务。

答案3

这是一个老问题,但由于它变得相当流行,所以我想发布我最终所做的事情。

我的解决方法是开发一个以管理员权限运行的 Windows 服务。然后,我编写了一个启动器应用程序,向此服务发送请求以打开我需要以管理员权限运行的应用程序。我可能用炮弹打死了苍蝇,但它确实有效。最终用户不必是他们机器的管理员,他们在桌面上有一个可以随时点击的快捷方式。我还为这项服务制作了一个 msi 安装程序,IT 人员可以更轻松地管理它。

相关内容