应用程序需要提升权限才能运行-为什么?

应用程序需要提升权限才能运行-为什么?

但其实并不像听起来那么愚蠢 ;)

我有一个第三方应用程序,但我没有源代码。官方支持 XP 及更高版本 - 但更高版本必须关闭 UAC。我不想要。

现在,我了解程序员,如果工作量不是太大,他们愿意做出改变,我可以告诉他们需要做什么。

我知道启动多个可执行文件的应用程序在启动时没有提升权限,无法获得网络连接 - 但似乎没有开放的端口在 loer 范围内(根据 netstat -b

是否有任何指南可以帮助找出应用程序需要提升权限的原因?该应用程序对业务至关重要 - 并且这目前破坏了安全性,因为用户必须是本地管理员。如果有人有想法 - 一旦我找到原因,我肯定可以让供应商实施更改。

答案1

根据其中一条评论,最好的选择可能是使用 Sysinternals 的进程监视器来查看正在尝试的操作以及由于 UAC 而失败的操作。

下载进程监视器http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

运行进程监视器,运行你的损坏的、过时的、编码错误的应用程序,转到进程监视器>过滤器> if Process Name is <borkedapp> then Includeif Result is Success then Exclude它应该会给你几千个条目来扫描失败的位。

或者,下面链接有一个工具(我还没有尝试过)可以帮助您比较进程监视器跟踪,以便您可以以标准用户身份运行跟踪,并以提升用户身份运行另一个跟踪,然后对它们进行比较。

http://forum.sysinternals.com/tool-for-comparing-procmon-traces_topic28870.html

https://github.com/patraulea/LogDiff

答案2

除了 Blue 的答案之外,还有一些用于将应用程序迁移到 Windows 7 的工具。即使您的应用程序声称它与 Windows 7 兼容,通过此铃声运行它会告诉您在 UAC 开启的情况下应用程序正常运行所需的条件。您甚至可以创建一个“垫片”,在您的应用程序运行时修改某些设置。我相信这个工具叫做标准用户分析器http://technet.microsoft.com/en-us/library/cc766021(v=ws.10).aspx

我还要补充一点,很多时候可以通过授予适当的权限来避免提升权限,即授予用户对 C:\Program Files\ 文件夹及其子文件夹的修改权限。

相关内容