我有两台计算机,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 上,我必须:
- 使用 cmd.exe 启动它
- 使用兼容性,
- 为管理员禁用 UAC
我不想使用兼容性并希望保持 UAC 启用,我需要做什么才能让计算机 B 像计算机 A 一样运行。基本上不会显示这些 UAC 错误?
那么其确切的根本原因和解决方案是什么?
答案1
由于 UAC 设置,Psexec 和 runas 无法正常工作。
我使用 secpol.msc 查看已更改的默认设置并恢复它们。UAC
设置位于本地策略/安全选项中。