При попытке открыть или запустить исполняемый файл/скрипт, скачанный из Интернета, Windows отображает предупреждение системы безопасности. В этой статье мы рассмотрим, как Windows определят, что файл был загружен из Интернета и как разблокировать файл.
Как Windows определяет, что файл был скачан из Интернета
Все современные браузеры при загрузке любого файлов из Интернета устанавливают в его метаданных специальную метку в альтернативном потоке данных NTFS (Alternate Data Streams).
Вы можете проверить наличие метки в альтернативном потоки данных с помощью PowerShell:
Get-Item -Path "C:\downloads\Fido.ps1" -Stream *
В нашем примере файлу, скачанному из Интернета каталоге назначен альтернативный поток Zone.Identifier. Вы можете получить его значение:
Get-Content -Path .\Fido.ps1 -Stream Zone.Identifier
или так:
notepad.exe file.exe:Zone.Identifier
В алтернативном потоке файла в секции [ZoneTransfer] указан идентификатор зоны передачи ZoneId. Эти зоны безопасности встречаются в настройках Internet Properties в панели управления (
inetcpl.cpl
). Возможные значения ID зоны:
- 0 — Local machine (Локальный компьютер)
- 1 — Local intranet (Местная сеть)
- 2 — Trusted sites (Надежные сайты)
- 3 — Internet (Интернет)
- 4 — Restricted sites (Опасные сайты)
В нашем случае для файла в альтернативном потоке данных установлен ID=3. Это значит, что файл был загружен из Интернета. Windows при запуске файла проверяет атрибут ZoneId, и если файл получен из недоверенного источника (ZoneId=3 или 4), его запуск блокируется.
Word тоже проверяет наличие метки Zone.Identifier у файлов и открывает документы, полученные из Интернета в защищенном режиме:
Protected view Be careful – files from the Internet can contain viruses. Unless you need to edit, it’s safer to stay in Protected View.
Разблокировать скачанный из Интернета файл в Windows
Вы можете вручную удалить данную метку (альтернативный поток) у файла.
- Откройте свойства файла;
- Вразделе Security должна присутствовать надпись:
This file came from another computer and might be blocked to help protect this computer
.
- Отметьте опцию Unblock и сохраните изменения.
Также вы можете разблокировать файл из Интернета с помощью PowerShell команды:
Unblock-File .\Fido.ps1
Проверьте, что альтернативный поток данных был удален и файл разблокирован:
Get-Item -Path .\Fido.ps1 -Stream *
У файла должен остаться только один поток с названием $Data.
Вы можете вручную назначить альтернативную метку любому файлу с помощью команды:
Set-Content -Path .\Fido.ps1 -Stream Zone.Identifier -Value '[ZoneTransfer]','ZoneId=3'
Также удалить поток у файла можно так:
Remove-Item -Path .\Fido.ps1 -Stream Zone.Identifier
Вы можете отключить блокирования запуска скачанных из Интернета файлов с помощью параметра GPO Do not preserve zone information in file attachments в разделе редактора групповых политик User Configuration -> Administrative Templates -> Windows Components -> Attachment Manage. Но это не рекомендуется.
Лучше сделать исключение для определенных расширений файлов (параметр GPO Inclusion list for low file types).