没有密码的用户的Runas命令


9

我想在CMD和批处理文件中使用runas命令来获得提升的权限,但是我的PC上没有管理员密码,因为它是我的家用计算机,并且是唯一的用户。每次我尝试使用runas命令时,都会要求我输入密码,然后告诉我不允许使用空白密码,这有什么办法吗?我知道我可以右键单击并选择以管理员身份运行,但是我宁愿有一个可以执行此操作的命令,因为这并不总是一个选项,这有点麻烦。

我可能只是犯了一些基本的错误,因为我对命令提示符没有很丰富的经验,但是我并不完全无知。

Answers:


13

由于这是一个家庭环境,因此我对这个答案不太紧张。您应该阅读我将要提到的策略中的注释,以了解其含义。

转到开始| 跑。键入secpol.msc,然后按Enter。导航到本地策略,然后导航到安全选项。找到表明“ 帐户:”的策略:将本地帐户的空白密码限制为仅控制台登录。将其设置为禁用。


+1(不告诉他们仅禁用UAC)。至少他们让它保持启用状态!
Mark Allen

4

您可以使用VBScript提升命令:

Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "cmd.exe", "", "", "runas", 1 

另存为*.vbs,然后使用cscript或启动它wscript


好招 +1
Jet

3

我相信您可以使用SysInternalPSexec.exe强制提升。

您可以尝试例如运行以下命令: psexec \\%computername% -i -h notepad.exe


好招 如果没有最后一个“ 1”参数,它也可以工作。
2014年

那是一个小写的“我不是1”,它会强制您执行的所有内容都以交互方式运行,否则它将喜欢在无头会话中运行,而让您失望的是想知道记事本到底在哪里。:)(到那儿去做。)当您在已登录的计算机上运行它时,可能没有必要,我没有尝试过。
Mark Allen

3

正如您所发现的那样,runas不允许您仅以其他用户身份运行提升权限的命令。

当您尝试启动被标记为需要提升的可执行文件时,会发生提升,从而引起UAC提示。这不仅仅是CreateProcess上的一个选项。因此,如果您正在运行cmd的非高架副本,并希望它运行另一个普通命令但又以高架运行,则需要一个可以为您运行但被标记为高架的interlude命令。当前目录和环境变量不会被提升的孩子继承,这一事实使情况变得复杂。

我在汉密尔顿C shell中包含的su命令(完全公开:我是作者)有一个sudo选项可以解决此问题,这是我的操作方式:当您要求su运行提升的命令时,它将启动自身的副本存储为标记为海拔的elevate.exe。elevate然后使用su通过共享内存进行握手,以跨海拔高度边界传递命令行参数,当前目录和环境,然后elevate运行命令。


0

我遇到了将执行RunAs命令的RunAsSpc,但是它具有以加密方式进行读/写的功能,因此不会暴露您的密码。

作者声明使用RunAsSpc可以满足这些要求

  • 用户不必输入密码,如runas。
  • 用户只能启动我允许的应用程序。
  • 不能通过简单地重命名应用程序名称或保存标识来绕过该工具(例如,runas / savecred)
  • 它应该易于处理。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.