有什么方法可以强制通常需要管理员权限(通过 UAC)的程序在没有管理员权限的情况下运行?(即:没有 UAC 提示和没有系统范围的访问权限。)
补充:不修改可执行文件本身。
尽管詹姆斯给出了答案,但我发现了几种几乎可以做到的方法:
trustInfo从清单(或整个清单,因此我可以使用外部清单)中删除条目,从而允许程序在没有 UAC 的情况下启动。不幸的是,这会修改可执行文件,因此由于内部校验和测试,它很快就会退出。正如您从下面的屏幕截图中看到的,C:\Windows\system32\cmd.exe存在(因为命令提示符本身正在使用该路径),我尝试使用短 cmd.exe 名称和完整路径引用它,但这两者都会导致 PsExec 出现相同的错误。 EXE文件:
The system cannot find the specified file.
网络服务用户确实存在;如果我输入错误,如果收到密码提示并显示用户名密码不存在的消息。
我在多台计算机上收到此错误消息,但它在其他计算机上有效;混合使用 Windows Server 2008 R2 和 2012 R2。我正在使用最新版本的 PsExec.exe(当前为 2.11),并且正在运行我用来以管理员身份启动 PsExec 的命令提示符,因此它应该具有任何必要的权限。
我发现很多关于在远程计算机上运行 PsExec 时遇到此问题的帖子,但没有针对我正在执行的本地计算机的帖子。
关于问题是什么有什么想法吗?
所以这是一个奇怪的事情......
我需要以非管理员身份运行 64 位版本的命令提示符/powershell。不幸的是,无论我尝试什么,它都只能在提升模式下运行。
据我所知,在 system32 文件夹中 cmd 和 powershell 设置为打开时以管理员身份运行,而在 sysWOW64 文件夹中它们运行良好。虽然 32 位可以工作,但它不适用于我需要运行的脚本;因此,我需要 64 位命令行才能工作。
操作系统:Windows 7 64 位企业版
域计算机
域 GPO 不是问题,因为这是唯一有问题的计算机。
我尝试过的:
“禁用”UAC,虽然它不再提示,但它仍然只能以管理员身份运行,这没有帮助,因为我需要在非提升模式下运行它。
以不同用户身份运行,导致访问错误(即无法按照管理员需要打开命令行程序)
兼容模式呈灰色,但即使检查设置,它也没有设置为以管理员身份运行。
快捷方式还会在提升模式下自动打开它。所以问题出在目标位置,更改快捷方式并不能解决问题。
有没有办法让它以普通用户身份运行?