如何始终以管理员身份运行命令提示符?

Kev*_*vin 110 windows-7 command-line permissions

作为开发人员,我经常需要为各种目的打开命令提示符。例如,我iisreset用来重新启动本地 Web 服务器。

我通常通过以下两种方式之一打开命令窗口:

  1. Win,输入“cmd”并按Enter
  2. 在资源管理器中,按住Shift并右键单击文件夹,然后选择“在此处打开命令窗口”

但是,当我以这些方式中的任何一种打开命令窗口时,我都没有我认为应该拥有的完全管理员权限。

我是管理员,但 cmd.exe 不知道

为了运行仅限管理员的应用程序,我必须以这种相对费力的方式打开命令行:

  1. Win,输入“cmd”
  2. 等待菜单填充
  3. 将手从键盘上抬起并将其放在鼠标上
  4. 右键单击“cmd.exe”菜单项
  5. 选择“以管理员身份运行”

由于以下几个原因,这是不可接受的:

  • 该窗口始终在 C:\windows\system32 中打开,而不是我的Users目录(如在批准的技术 1 中)或我想要进入的文件夹(如在批准的技术 2 中)。所以我经常不得不改变目录才能到达我想去的地方。
  • 这个过程比我首选的方法慢几毫秒。每天执行几次,在我职业生涯的剩余时间里每天执行,总共花费了大约十天的时间点击、等待和目录更改。
  • 作为一名程序员,执行一项毫无意义的机器人任务给我带来了巨大的情感痛苦。
  • 作为一名程序员,举起我的手是一项艰巨的任务,会给我带来巨大的身体疼痛。

这就是为什么我正在寻找一种一次性解决方案,让已批准的技术 1 和 2 打开管理员命令提示。

许多程序允许您从“属性”菜单中永久更改其默认权限级别。命令提示符不是这些程序之一。

在此处输入图片说明

如何使命令窗口默认以管理员身份运行(即使使用“在此处打开命令窗口”上下文菜单选项)?

Jes*_*sse 97

要回答你的问题的第一部分,当你按下Windows键,输入“CMD”你可以打Ctrl+ Shift+Enter打开以管理员身份。

要回答问题的第二部分,请将以下内容粘贴到记事本中并使用“.reg”扩展名保存:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Open Command Window Here as Administrator"

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""
Run Code Online (Sandbox Code Playgroud)

然后运行文件。它会将更改合并到注册表中,并将选项添加到上下文菜单中。(不需要 shift 键。)

  • 笔记; 在这两种情况下,您仍然必须接受 UAC 提示。 (8认同)

Syn*_*ech 41

许多程序允许您从“属性”菜单中永久更改其默认权限级别。命令提示符不是这些程序之一。

对于所有Windows 的可执行文件,兼容性选项卡已完全禁用:

在此处输入图片说明

要为 Windows 可执行文件设置管理员权限,您需要创建快捷方式并使用快捷方式选项卡吗?Advanced(开始菜单中的命令提示符项已经是一个快捷方式):

在此处输入图片说明

该窗口始终在 C:\windows\system32 中打开,而不是我的用户目录(如在批准的技术 1 中)或我想要进入的文件夹(如在批准的技术 2 中)。所以我经常不得不改变目录才能到达我想去的地方。

这是正常的并且是有道理的,因为如果您打开管理员命令提示符,您可能正在执行一些需要管理员权限的系统操作,而不是您已经拥有权限的用户操作。

您可以通过添加/编辑Autorun注册表项来全局设置默认目录(它甚至不必是使用环境变量的可扩展字符串):

REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"Autorun"="cd /d \"%userprofile%\""
Run Code Online (Sandbox Code Playgroud)

现在,每当您使用任何方法打开命令提示符时,都会自动默认(好吧,技术上更改目录)到您的用户配置文件目录。

更好的是,您可以添加其他命令,以便在您使用&操作符(例如,cd /d %userprofile% & cls & dir)打开命令提示符时自动运行。另外,您可以在HKLM分支下的同一个key中设置相同的值,以便为所有用户设置。


请注意,您仍然必须接受 UAC 提示。不幸的是,(目前?)无法创建受信任程序的 UAC“白名单”,以便可以以管理员身份运行命令提示符而不必接受提示。这给您留下了 (a) 几个选项。

在第一种情况下,您完全避免使用 UAC,而在后两种情况下,您只需在创建快捷方式时输入一次凭据。


Dra*_*acs 20

我使用的解决方案是通过打开开始菜单,输入“cmd”并按Ctrl+ Shift+来打开命令提示符Enter。这将导致所选程序以管理员身份启动。


小智 15

CMD在每次单击时自动以管理员身份运行(无需右键单击或创建其他快捷方式),有一个简单的解决方法:

  1. 注册表编辑器中,导航到:
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

    • 如果没有Layers文件夹,则必须创建一个并命名:
      右键单击AppCompatFlags文件夹选择New?Key
  2. 右键单击Layers,选择 NewString Value. 将新字符串值的名称设置为 ( CMD.EXE) 命令提示符(即C:\Windows\System32\cmd.exe)的完整路径

  3. 双击新的字符串值进行修改,将“数值数据”设置RUNASADMIN

我也有同样的烦恼,这对我有用。


小智 12

如果您希望 CMD.exe 始终以管理员身份运行,只需将以下注册代码添加到您的注册表中:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\System32\\cmd.exe"="~ RUNASADMIN"
"C:\\Windows\\SysWOW64\\cmd.exe"="~ RUNASADMIN"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\System32\\cmd.exe"="~ RUNASADMIN"
"C:\\Windows\\SysWOW64\\cmd.exe"="~ RUNASADMIN"
Run Code Online (Sandbox Code Playgroud)

  • 这在 Windows 8.1 上对我有用。现在我只需按 Windows-R、cmd、Enter。它也适用于通过 Shift-RightClick > 在此处打开命令窗口从文件资源管理器打开命令窗口。 (2认同)