如何将提升的命令提示符转换为常规命令提示符?

如何将提升的命令提示符转换为常规命令提示符?

我已在系统上禁用 UAC,并且所有命令提示符都以提升权限启动(“管理员:...”)。即使我从“开始”菜单启动 cmd.exe,它仍以提升权限启动。

有没有办法以某种方式运行非提升的命令提示符?

我需要它,这样我就可以修复某些软件中的错误,除非以管理员身份运行,否则该软件无法正常工作。

答案1

Sysinternals 来救援了!不久前添加了一个选项,可以以受限用户身份运行命令。

    Usage: psexec [\\computer[,computer2[,...] | @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>][-a n,n,... ] cmd [arguments]


-d  Don't wait for application to terminate. Only use this option for non-interactive applications.
-e  Does not load the specified account's profile.
-f  Copy the specified program to the remote system even if the file already exists on the remote system.
-i  Run the program so that it interacts with the desktop of the specified session on the remote system. If no session is specified the process runs in the console session.
-l  Run process as limited user (strips the Administrators group and allows only privileges assigned to the Users group). On Windows Vista the process runs with Low Integrity.

具体来说,我建议运行

psexec -i -d -l "your command here"

这将以交互方式运行命令(以便您可以看到结果),分离方式(因此命令行立即返回 - 不是严格必要的),并以受限用户身份运行。

答案2

您可以从计算机的管理员组中删除您的用户名,或者创建另一个没有管理员权限的帐户。

答案3

以下命令将在没有权限的情况下以受限用户身份运行程序。换句话说,完整性级别将是中等,而不是高或低。

psexec -u %USERDOMAIN%\%USERNAME% -p password command arguments

添加 -l 将以受限用户身份(即完整性级别低)运行该程序。

答案4

据我所知,你不能“取消”某个进程。

如果您从另一个应用程序(非提升的应用程序)启动 cmd.exe,它不应以管理员身份启动。

相关内容