在 Windows 中从提升的提示符下以其他用户身份运行,无需密码

在 Windows 中从提升的提示符下以其他用户身份运行,无需密码

有多个实用程序可以以不同的用户身份运行(例如:runas、、 ) cpaupsexec但它们都需要相应用户的密码,即使您已经以提升的权限运行。

我想实现以下目标:

  1. 我已经有一个提升的提示 ( Administrator)
  2. 我想执行一个命令(例如calc.exe:),而john无需向启动器实用程序输入/传递密码。

例如,在 Unix 系统中您可以:

root@server:~# su - john

答案1

在 Windows 中,只有当您尝试模拟的用户当前处于登录会话中时,您才能执行此操作。这是因为本地组策略“身份验证后模拟客户端”允许管理员组的成员执行此操作(在本地策略 > 用户权限分配下找到)。

我知道一个可以让你做到这一点的工具是 Process Hacker 2。以本地管理员身份运行该工具,然后找到以你想要模拟的用户身份运行的进程。右键单击它,选择杂项 > 以此用户身份运行...,然后输入你想以该用户身份运行的二进制路径,例如 cmd。然后 CMD 将以该用户身份打开,而不会提示输入该用户的密码。

答案2

我一直都在用这个。第一次使用时(以及密码更改时)确实需要输入凭证,但仅此而已。

runas /user:yourusernamehere /savecred "Your Executable Here"

如果将此命令保存为 bat 文件的一部分,则可以创建一个快捷方式,该快捷方式将使用如下目标以管理权限启动该命令。

C:\Windows\System32\cmd.exe /c "C:\yourbatfilehere.bat"

答案3

不,在 Windows 下不可能。在不同的用户帐户下运行应用程序时,您始终必须至少输入一次密码。即使以管理员身份运行也是如此。

防止奇怪的事情发生并实现干净的审计。如果用户帐户下发生某些事情,用户不能指责管理员未经他们的同意就这样做。

答案4

我是这样做的

psexec -u 管理员 -p 密码 -i(会话 ID)-h -d cmd /c 启动(命令)

会话 ID:使用以下命令“qwinsta console”检索命令:是您需要运行的任何命令。(了解如果需要用户交互,则该用户将需要单击或完成任何所需的任务)

Psexec 可以在https://live.sysinternals.com

相关内容