问题标签 [process-elevation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
349 浏览

c# - 如何从提升的进程启动未提升的进程

我的应用程序可能正在以提升的权限运行(它是一个应用程序启动器),我需要以标准权限启动其他应用程序(这样它就不会以管理员身份运行)。

我的应用程序不是设置。

我怎样才能做到这一点?我需要同时启动可执行文件和文档文件。

谢谢。

0 投票
4 回答
3645 浏览

c# - 如何启动未提升的进程

我的应用程序按requestedExecutionLevel设置运行highestAvailable

如何运行未提升的进程?

我尝试了以下但没有奏效:

我尝试了以下信任级别来使用 Win32 API 启动我的进程,但它们都不能正常工作:

如果我tskill foo从提升的应用程序运行,它会以正确的权限重新启动 foo。

我需要的是一个无需指定信任级别的解决方案。该过程应自动以正确的信任级别开始,就像tskill工具foo.exe以正确的信任级别重新启动一样。用户选择并运行foo.exe,所以它可以是任何东西。

如果我能以某种方式获得进程的信任级别,我可以轻松地做到这一点,因为foo.exe当我的应用程序可以捕获其信任级别时运行。

0 投票
1 回答
659 浏览

windows-7 - 关闭 UAC 后,“以管理员身份运行”以普通用户启动

我只是想知道为什么在运行 Windows 7 的某些(但不是全部)系统上,Windows 资源管理器上下文菜单中的“以管理员身份运行”条目不起作用。比如我右击cmd.exe,选择“以管理员身份运行”,进程以默认用户身份启动。

这似乎只有在我关闭 UAC(滑块的最低级别)时才会发生。但是,在许多其他也关闭了 UAC 的系统上,这仍然有效。

我需要哪些设置才能再次进行这项工作?老实说,我不知道为什么它可以在某些系统上运行,而在其他系统上却不行。你可以解释吗?

谢谢

0 投票
2 回答
520 浏览

c# - 如何使用 dotnet 或 powershell 检测特定进程是否被提升

如何检测特定进程是否被提升。此过程与我的代码运行的过程不同。我希望能够使用 PowerShell 或 C# 来执行此操作。

0 投票
0 回答
70 浏览

visual-studio - 以标准用户身份运行提升的进程

让我们假设我的系统中有两个帐户——一个是管理员,另一个是标准用户。

我注意到,当标准用户尝试以提升的权限启动程序(例如命令提示符)时,UAC 会询问管理员的凭据,然后启动该过程。发生这种情况时,在任务管理器中,它显示该进程已提升但在管理员帐户中运行(在用户名列下)。

有什么方法可以从标准用户帐户开始提升进程,并且仍然将用户名显示为标准用户名而不是管理员名?

0 投票
0 回答
131 浏览

c# - 如何仅在需要时提升当前的 C# 程序?

我将如何仅在必要时提升我正在运行的 C# 程序?

我来自 Java,我看到像 IntelliJ 这样的程序只有在"elevator.exe"任务需要管理员权限时才会调用它们。

所以,我想知道如何在 C# 中做同样的事情,只在任务需要提升(例如,更新)时提升当前程序,然后才能运行指定的任务。如果我也必须自己制作它不会打扰我"elevator.exe",我只想知道它是如何完成的,以便我可以重新创建它。

我不想仅仅以管理员权限运行另一个程序,我想授予对当前程序的管理员访问权限,以执行更新等操作,就像 IntelliJ 所做的那样。

0 投票
0 回答
20 浏览

c# - 在具有不同高度的应用程序之间发送消息?

我有 2 个应用程序,一个需要以管理员身份运行,一个不需要。

以管理员身份运行的是我的主应用程序,它需要管理员权限才能更改注册表。

以用户身份运行的是辅助应用程序,可以将资源管理器中的文件拖放到它上面。此拖放功能禁止在 Explorer 未提升时拖放到提升的应用程序,因此这就是为什么我的辅助应用程序需要在没有管理员提升的情况下运行。

问题在于尝试使用SendMessage在两个应用程序之间进行通信。无法从我的辅助应用程序向我的主应用程序发送消息,出于同样的原因,我假设来自非提升资源管理器的文件不能被拖放到提升的应用程序。

当辅助应用程序发生更改时,我正在使用 SendMessage 将一些属性发送到主应用程序。我需要主应用程序知道这些属性何时更改。

有没有办法解决这个问题,还是我必须考虑改变我的处理方式?我可以将这些属性保存到文件中并使用FileSystemWatcher检查更改,但这似乎很尴尬,因为不能保证更改是由辅助应用程序进行的。

0 投票
1 回答
54 浏览

c# - 使用 MSI 安装的应用程序服务的静默更新

是否有任何很好的例子说明如何通过 MSI 安装应用程序服务并且独立于任何用户上下文来处理静默自动更新/按需更新问题。该服务将如何具有管理员权限进行静默更新,因为没有管理员权限修改系统文件和资源是困难的。有没有实现上述目标的 Windows 服务?防病毒软件呢?