以管理员身份打开命令提示符使用带有硬编码管理员用户名的桌面快捷方式

以管理员身份打开命令提示符使用带有硬编码管理员用户名的桌面快捷方式

底部是 TLDR 版本。我想创建一个桌面快捷方式,这样就可以打开命令提示符,就像我使用了“以管理员身份运行”选项一样,但只需双击快捷方式,然后系统就会提示我输入要与硬编码用户名一起使用的密码。

我已经针对‘Active Directory 用户和计算机’完成了以下操作:

目标:C:\Windows\System32\runas.exe /netonly /user:adminusername@domain "mmc %SystemRoot%\system32\dsa.msc" 启动于:%windir%\System32

当我单击此快捷方式时,我会收到一个命令提示符,要求我输入我的管理员帐户密码,然后它会使用我的管理员帐户打开 AD 用户和计算机。

我尝试使用 cmd.exe 执行该命令,但它完全以该用户的身份运行,而不是我想要的以登录的非管理员用户身份运行,但具有在 UAC 提示中输入的管理员用户/密码授予的管理员权限。

我发现了一个类似的问题,但我看到的唯一真正回答这个问题的答案并没有实现我想要的功能(而且我认为也没有实现另一个问题的 OP 想要的功能)。https://stackoverflow.com/questions/5944180/how-do-you-run-a-command-as-an-administrator-from-the-windows-command-line#:~:text=84-,All,-you%20have%20to

那里的答案表明:

您所要做的就是使用 runas 命令以管理员身份运行您的程序(但有一个警告)。

runas /user:Administrator "cmdName 参数" 在我的例子中,这是: runas /user:Administrator "cmd.exe /C %CD%\installer.cmd %CD%"

我使用这个命令的问题是,它与在开始菜单的 cmd 中选择以管理员身份运行选项不同。如果您导航到 c:\users%username%\,上面的命令将返回 runas/admin 路径。如果您从开始菜单使用以管理员身份运行选项,该命令将返回已登录的非管理员用户的用户路径。此外,它似乎甚至没有以某种方式授予 cmd 管理员权限。当我从打开的窗口运行 net stop spooler 时,它给出了一个访问被拒绝的错误。

我知道我可以创建一个 cmd.exe 的快捷方式,然后在属性中选择以管理员身份运行,使其执行 UAC 提示。我想避免每次都输入用户名,并希望结果与我对 Active Directory 的快捷方式所做的相同,我只需要输入密码。

谢谢!

TLDR 版本:当我在开始菜单上的命令提示符选项中单击“以管理员身份运行”时,实际上执行了什么命令以使其以非管理员用户身份运行,但能够进行管理员级别的更改?

答案1

如果您想创建一个快捷方式以具有管理员权限打开命令提示符,而无需每次都提示输入用户名和密码,您可以按照以下步骤操作:

  1. 右键单击桌面或要创建快捷方式的文件夹。
  2. 选择“新建”,然后选择“快捷方式”。
  3. 在“键入项目的位置”字段中,输入以下命令:

%windir%\System32\cmd.exe /k %windir%\System32\runas.exe /用户:管理员/savecred "cmd.exe /k"

此命令打开命令提示符 (cmd.exe),并使用 runas.exe 以管理员权限 (/user:Administrator) 执行另一个 cmd.exe 实例。/savecred 标志告诉 runas.exe 保存输入的凭据,这样以后就不会再提示您输入这些凭据了。

  1. 点击下一步。”

  2. 输入快捷方式的名称,例如“Admin CMD”,然后单击“完成”。

现在,当您双击快捷方式时,它将以管理员权限打开命令提示符,而无需输入用户名和密码。请记住,第一次运行此快捷方式时,仍会提示您输入管理员密码,但此后,它应该会记住凭据。

相关内容