如何使用管理员权限创建主机文件快捷方式?


16

作为开发人员,我发现自己hosts经常编辑文件以添加本地虚拟主机。

由于hosts需要以管理员身份编辑文件,因此我必须:

  1. 点击开始菜单
  2. 类型 notepad
  3. 右键单击记事本图标,然后单击“以管理员身份运行”
  4. 点击
  5. 然后打开... C:\Windows\System32\drivers\etc\hosts

很麻烦。

我试图hosts在桌面上创建该文件的快捷方式,然后右键单击该文件以更改快捷方式的高级属性,但是我无法选择“以管理员身份运行”

快捷方式高级属性

我猜这是因为我正在创建文件而不是notepad程序的快捷方式。

如何创建以管理员身份运行并打开主机文件的记事本快捷方式?如果每次必须单击“ 是”以确认要以管理员身份运行该程序,则可以。

Answers:


35

干得好:

  1. 右键点击桌面

  2. 新增>快捷键

  3. 输入“记事本”作为位置

  4. 给快捷方式起个名字

  5. 右键单击->快捷方式上的属性

  6. 在“目标”文本框的末尾,附加“%SYSTEMROOT%\ System32 \ drivers \ etc \ hosts”(记住要留一个空格)

  7. 点击“高级”

  8. 选中以管理员身份运行

  9. 然后在两个窗口上按确定

您在这里,每次使用时都需要与UAC确认。


1
工程,谢谢!%SYSTEMROOT%不过,之后缺少反斜线了,如果不编辑至少6个字符,我将无法编辑您的帖子。
本杰明·

@Benjamin帮了我大忙!,谢谢您告诉我
KJ4IPS 2013年

1
与VSCode配合使用,目标是:"C:\Program Files\VSCode\Code.exe" %SYSTEMROOT%\System32\drivers\etc\hosts

5
  • 没有UAC确认的CMD批次

    打开一个新的文本文件,复制并粘贴行并将其另存为 something.cmd

    runas /profile /user:Administrator /savecred "notepad C:\Windows\System32\drivers\etc\hosts"
    
  • 未经UAC确认的快捷方式

    右键单击桌面»新建»快捷方式

    cmd /c runas /profile /user:Administrator /savecred "notepad C:\Windows\System32\drivers\etc\hosts"
    

两种方法都将首次要求输入管理员密码并保存。
仅在启用了管理员帐户的情况下才有效。

在此处输入图片说明


优雅的解决方案,但是:1 /我不理解您的意思是打开新的文本文件,您是说新的快捷方式吗?2 /很遗憾,我没有使用管理员帐户,并且实际上这不适用于我的用户帐户(即使我有特权以管理员身份运行)。
本杰明·

编辑我的答案以进行澄清
nixda

1
谢谢!最好的解决方案,如果您启用了管理员帐户
本杰明·

3

创建一个对所有人具有完全权限的文件夹,并将其添加到PATH。

在其中创建一个文件,sudo.cmd其中包含以下文本:

@echo Set objShell = CreateObject("Shell.Application") > %temp%\sudo.tmp.vbs
@echo args = Right("%*", (Len("%*") - Len("%1"))) >> %temp%\sudo.tmp.vbs
@echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\sudo.tmp.vbs
@cscript %temp%\sudo.tmp.vbs

现在,键入sudo notepad将以管理员权限启动记事本(首先显示UAC提示)。确实很方便(您也可以sudo cmdsudo AnyAppYouCanThinkOf)。

然后创建一个名为的文件hosts.cmd,并使用以下行将其保存:

@sudo notepad %systemroot%\System32\drivers\etc\hosts

现在只需按Win并键入hosts,然后按Enter,您将看到一个UAC提示,以在记事本中打开主机文件!

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.