运行程序如何提升

运行程序如何提升

我有两台计算机,A分别B运行Windows 10 , build 1709,并且具有:

  • 当前用户仅在本地组“用户”中
  • 使用本地管理员帐户:已启用
  • UAC:已启用
  • 打印机共享:已启用

我已尽力让两台计算机尽可能保持相同。我想在两台计算机上以管理员权限和提升权限本地运行一个程序(不进行远程执行)。

在计算机上A

程序以提升的权限运行,没有 UAC 消息。

在计算机上B

它显示了一些错误和 UAC 消息,我试过了,

  • 使用运行程序psexec

    psexec.exe -i -u administrator -p "password" -accepteula path\program.exe
    

    退出时显示错误:

    ERROR : "this operation need an elevation"
    (original message : "L'opération demandée nécessite une élévation.")  
    
  • 使用运行程序Runas

    runas /noprofile /user:administrator path\program.exe
    

    退出时显示错误:

    ERROR : "740 : this operation need an elevation"
    (original message : "740 : L’opération demandée nécessite une élévation.")  
    
  • 使用cmd.exe启动程序

    psexec.exe -i -u administrator -p "password" -accepteula cmd.exe /C start "xxxx" path\program.exe
    

    在这种情况下,程序以管理员身份运行,但权限仍然没有提升。

  • 现在在运行程序中,

    • 我必须使用兼容性选项卡授予其管理员权限(提升的权限)。
    • 此后,程序最终以提升的权限运行,但我收到了 UAC 消息。
    • 因此,我禁用了管理员帐户的 UAC,现在,它以提升的权限运行,并且没有 UAC 消息。

该问题并不只存在于该程序中,其他应用程序(例如 Bitdefender、Anti-Ransomware、Fraps、Paint-Shop pro 6)也存在该问题。

但这些都没有在计算机 A 上发生。

此外,psexec-h 或 -s 等选项对我来说从未起作用,在计算机 A 上也是如此。它在启动服务时显示错误。因此,在计算机 B 上,我必须:

  1. 使用 cmd.exe 启动它
  2. 使用兼容性,
  3. 为管理员禁用 UAC

我不想使用兼容性并希望保持 UAC 启用,我需要做什么才能让计算机 B 像计算机 A 一样运行。基本上不会显示这些 UAC 错误?

那么其确切的根本原因和解决方案是什么?

答案1

由于 UAC 设置,Psexec 和 runas 无法正常工作。
我使用 secpol.msc 查看已更改的默认设置并恢复它们。UAC
设置位于本地策略/安全选项中。

相关内容