Come creare un collegamento al file hosts con privilegi di amministratore?


16

Come sviluppatore, mi ritrovo a modificare il hostsfile abbastanza spesso per aggiungere un host virtuale locale.

Dato che il hostsfile deve essere modificato come amministratore, devo:

  1. Fai clic sul menu Start
  2. genere notepad
  3. Fare clic con il tasto destro sull'icona del blocco note, fare clic su Esegui come amministratore
  4. Fai clic su
  5. Quindi apri ... C:\Windows\System32\drivers\etc\hosts

Abbastanza ingombrante.

Ho provato a creare un collegamento al hostsfile sul desktop, quindi fare clic con il pulsante destro del mouse per modificare le proprietà avanzate del collegamento , ma non riesco a selezionare Esegui come amministratore .

Proprietà avanzate di scelta rapida

Immagino che questo sia perché sto creando un collegamento a un file e non al notepadprogramma.

Come posso creare un collegamento al blocco note che viene eseguito come amministratore e apre il file hosts? Va bene se devo fare clic su ogni volta per confermare che voglio eseguire il programma come amministratore.

Risposte:


35

Ecco qui:

  1. Fare clic con il tasto destro sul desktop

  2. Nuovo> Collegamento

  3. digitare "blocco note" come posizione

  4. Dai un nome alla scorciatoia

  5. Fare clic con il tasto destro -> Proprietà sul collegamento

  6. alla fine della casella di testo "target", aggiungi "% SYSTEMROOT% \ System32 \ drivers \ etc \ hosts" (ricorda di lasciare uno spazio)

  7. Clicca su "Avanzate"

  8. Seleziona Esegui come amministratore

  9. quindi premere OK, su entrambe le finestre

Eccoti, dovrai confermare con UAC ogni volta che lo usi.


1
Funziona grazie! Manca una barra rovesciata dopo %SYSTEMROOT%, e non posso modificare il tuo post senza modificare almeno 6 caratteri.
Benjamin,

@Benjamin ha capito! Grazie per
avermelo

1
Funziona con VSCode con target:"C:\Program Files\VSCode\Code.exe" %SYSTEMROOT%\System32\drivers\etc\hosts
Nick Tsai

5
  • Lotto CMD senza conferma UAC

    Apri un nuovo file di testo, copia e incolla la linea e salvala come something.cmd

    runas /profile /user:Administrator /savecred "notepad C:\Windows\System32\drivers\etc\hosts"
    
  • Collegamento senza conferma UAC

    Fare clic con il tasto destro del mouse sul desktop »Nuovo» Collegamento

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

Entrambi i metodi chiederanno la password dell'amministratore per la prima volta e la salveranno.
Funziona solo se il tuo account amministratore è abilitato.

inserisci qui la descrizione dell'immagine


Soluzione elegante, ma: 1 / Non capisco cosa intendi con Apri un nuovo file di testo , intendevi Nuovo collegamento ? 2 / Sfortunatamente non utilizzo l'account Administrator, e in effetti questo non funziona con il mio account utente (anche se ho i privilegi per eseguire come amministratore).
Benjamin,

Modificata la mia risposta per chiarimenti
nixda,

1
Grazie! La migliore soluzione se l'account amministratore è abilitato .
Benjamin,

3

Crea una cartella con tutte le autorizzazioni per tutti e aggiungila a PATH.

Al suo interno creare un file chiamato sudo.cmdcon il seguente testo all'interno:

@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

A questo punto, digitando sudo notepadverrà avviato Blocco note con privilegi di amministratore (con prima il prompt UAC). È davvero utile (puoi anche sudo cmdo sudo AnyAppYouCanThinkOf).

Quindi creare un file chiamato hosts.cmde salvarlo con la seguente riga:

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

Ora premi Win e digitare hosts, quindi premere Entere hai un prompt UAC per aprire il file hosts in Blocco note!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.