Я пробовал несколько способов редактировать файл hosts в Windows, но не получилось.

Сначала файл hosts показывался при использовании PowerShell, но весь каталог \etc \ исчезал при использовании любого другого инструмента. Но поскольку я не знаю, как открыть в PowerShell как администратор (полагаю, это невозможно), я просто создал новый каталог etc с блокнотом, запущенным от имени администратора.

Но теперь информация, предоставленная на хостах, не используется ни одной программой (браузером или замазкой). Как ботаник Unix, это очень расстраивает меня. Как я могу отредактировать его в Windows 10? Я также не возражаю против некоторого графического интерфейса, скрытого где-то глубоко в приложении «Настройки», обеспечивающего ту же функциональность.

3 ответа3

5

Вам не нужно вызывать PowerShell от имени администратора с повышенными правами, но это помогает, если вам приходится выполнять несколько операций, требующих разрешения администратора.

Для редактирования файла hosts из обычного сеанса PowerShell используйте:

Start-Process -FilePath notepad.exe -Verb runas -ArgumentList "$env:SystemRoot\system32\drivers\etc\hosts"

Вам будет предложено ввести учетные данные администратора, а затем notepad.exe будет запущен с повышенными правами, и вы сможете редактировать файл hosts.

Обратите внимание на -Verb runas в команде, он говорит PowerShell запустить процесс с более высоким уровнем целостности.

Не пытайтесь изменить разрешения NTFS для файла hosts, чтобы редактировать его как обычный пользователь. Это угроза безопасности, и разрешения могут быть сброшены при следующем обновлении Windows или процессе восстановления.

0

Во-первых, обратите внимание, что вы должны вызвать Powershell от имени администратора. вы правы, нет такой команды, как sudo/su, но вы можете щелкнуть правой кнопкой мыши powershell и запустить от имени администратора.

Второе окно поставляется с файлом% systemroot%\system32\drivers\etc\hosts по умолчанию, но в некоторых последних версиях токен этого пути (драйверы, как мне кажется) скрыт.

В-третьих, после изменения файла обязательно перезагрузите компьютер.

В-четвертых, обратите внимание, что такие инструменты, как NSLookup, всегда сначала проверяют DNS, поэтому при тестировании используйте Ping или другую схожую утилиту, которая отображает разрешенный IP-адрес, а не nslookup .

0

Как упоминалось в других ответах, файл hosts хранится в C:\windows\system32\drivers\etc\hosts. Тем не менее, в Windows Vista и выше, вы должны изменить разрешения. Некоторые из моих пользователей веб-разработчиков хотят вручную менять его каждый час, поэтому мой процесс был следующим: 1. Откройте повышенный файл explorer.exe в этот каталог 2. Скопируйте оригинальный файл hosts 3. Переименуйте исходный файл hosts в .old 4. Переименуйте новый файл в «hosts» 5. Измените разрешения, чтобы явно разрешить соответствующему пользователю полный доступ. Не позволяйте «Все».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .