Системная блокировка файлов, загруженных из интернета или полученных по локальной сети, обусловлена работой встроенного в Windows механизма защиты Mark of the Web (MOTW). При скачивании операционная система записывает в файловую систему NTFS скрытый альтернативный поток данных (Alternate Data Stream, ADS) с именем :Zone.Identifier. Наличие этого метчика блокирует запуск исполняемых файлов, выполнений скриптов PowerShell/VBS, а также запуск макросов в документах Microsoft Office. Массовое и автоматизированное снятие этого ограничения реализуется с помощью командлета Unblock-File в PowerShell.
Экспресс-проверка наличия блокировки
- Проверка наличия скрытого потока
Zone.Identifierу конкретного файла:Get-Item -Path "C:Downloadssetup.exe" -Stream "Zone.Identifier". - Тестовая разблокировка одного файла для проверки прав доступа:
Unblock-File -Path "C:Downloadssetup.exe". - Проверка текущего уровня политики выполнения скриптов:
Get-ExecutionPolicy. - Запуск консоли PowerShell с повышенными привилегиями: комбинация клавиш Win + X →
Терминал (Администратор)илиPowerShell (Администратор).
Методы массового снятия блокировки файлов
- Рекурсивное снятие блокировки всех файлов в каталоге через PowerShell:Для снятия блокировки со всех файлов в указанной папке и всех её подкаталогах откройте PowerShell от имени администратора и выполните команду:
Get-ChildItem -Path "D:SharesDownloads" -Recurse | Unblock-FileЕсли в директории находятся файлы, занятые другими процессами, подавите вывод ошибок доступа с помощью ключа
-ErrorAction:Get-ChildItem -Path "D:SharesDownloads" -Recurse -ErrorAction SilentlyContinue | Unblock-File -ErrorAction SilentlyContinue - Оптимизированное снятие блокировки только с заблокированных объектов:Для ускорения обработки больших массивов данных предварительно отфильтруйте только те файлы, которые содержат атрибут
Zone.Identifier, избегая лишних операций ввода-вывода:Get-ChildItem -Path "C:Data" -Recurse | Get-Item -Stream "Zone.Identifier" -ErrorAction SilentlyContinue | Remove-Item - Полное отключение сохранения зоны происхождения через Локальную групповую политику (GPO):Для предотвращения блокировки новых скачиваемых файлов нажмите Win + R, введите
gpedit.mscи нажмите Enter.Пройдите по пути:Конфигурация пользователя → Административные шаблоны → Компоненты Windows → Диспетчер вложений(User Configuration → Administrative Templates → Windows Components → Attachment Manager).Откройте параметр
Не сохранять сведения о зоне происхождения файлов(Do not preserve zone information in file attachments) и переведите его в состояниеВключено(Enabled).Примените изменения в командной строке:
gpupdate /force. - Отключение метки зоны через системный реестр Windows:Нажмите Win + R, введите
regeditи откройте раздел:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesAttachmentsСоздайте параметр
DWORD (32 бита)с именемSaveZoneInformationи присвойте ему значение1.
Сводная таблица параметров Zone.Identifier и команд снятия блокировки
| Значение ZoneID | Источник / Зона безопасности | Поведение системы | Команда/Метод очистки |
|---|---|---|---|
0 |
My Computer (Локальный компьютер) | Ограничения отсутствуют | Не требуется |
1 |
Local Intranet (Локальная сеть) | Минимальные предупреждения для исполняемых файлов | Unblock-File -Path "C:PathFile.ext" |
2 |
Trusted Sites (Надежные узлы) | Запуск разрешен в соответствии с политиками браузера | Unblock-File -Path "C:PathFile.ext" |
3 |
Internet (Интернет) | Запуск блокируется, отображается предупреждение, блокируются макросы Office | Get-ChildItem -Recurse | Unblock-File |
4 |
Restricted Sites (Опасные сайты) | Полный запрет на открытие и запуск файла в ОС | streams.exe -d -s "C:Path" |
Нестандартные причины и альтернативные решения
В случаях когда стандартный командлет Unblock-File завершает работу с ошибками или не удаляет метку с файлов, используйте специализированный инструментарий и системные корректировки:
- Удаление альтернативных потоков через Sysinternals Streams: При повреждении дескрипторов безопасности скачайте официальную утилиту Sysinternals
streams.exe. Запуститеcmd.exeот имени администратора и выполните очистку всех потоков данных:streams.exe -d -s "C:Downloads" - Ошибки при обработке файлов на сетевых ресурсах (SMB / NAS): При попытке разблокировать файлы, находящиеся на сетевой шаре (например,
\192.168.1.50share), PowerShell может выдать ошибку отказа в доступе. Добавьте IP-адрес хранилища192.168.1.50в зону интрасети: нажмите Win + R →inetcpl.cpl→Безопасность → Локальная интрасеть → Сайты → Дополнительно→ добавьтеfile://192.168.1.50. - Обход ограничений ExecutionPolicy в текущей сессии: Если система блокирует запуск самого PowerShell-скрипта, выполняющего разблокировку, временно понизьте уровень защиты для текущего процесса:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process - Особенности работы с архивами и файловыми системами FAT32/exFAT: Файловые системы FAT32 и exFAT не поддерживают альтернативные потоки NTFS. При распаковке архива, содержащего метку зоны, на NTFS-диск, блокировка наследуется всеми извлеченными файлами. Для предотвращения этого выполняйте снятие блокировки с самого ZIP/RAR архива до момента его распаковки:
Unblock-File -Path "C:Downloadsarchive.zip" - Прямое обнуление альтернативного потока через cmd.exe без использования PowerShell: В средах Windows PE или урезанных редакциях Windows Server Core при отсутствии подсистемы PowerShell удалите метчик зоны с помощью штатного перенаправления потоков ввода-вывода командного процессора:
echo. > "C:\Path\File.exe:Zone.Identifier"Для пакетного обнуления потоков во всем каталоге выполните цикл в
cmd.exe:for /r "C:\TargetFolder" %i in (*) do (echo. > "%i:Zone.Identifier") - Удаление системного запрета SmartScreen через AppLocker и SRP: Если после очистки потока
Zone.Identifierзапуск блокируется защитником Windows SmartScreen с кодом0x80070005, сбросьте кэш репутационной проверки в реестре Windows:reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\AppHost" /v "SmartScreenPUID" /fДля полного отключения перехвата исполняемых файлов компонентом SmartScreen выполните команду от имени Администратора:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System" /v "EnableSmartScreen" /t REG_DWORD /d 0 /f - Коррекция списков управления доступом (DACL) утилитой icacls: При получении ошибки «Отказано в доступе» (UnauthorizedAccessException) во время снятия атрибутов снимите флаги блокировки прав и верните владение объектами локальной группе администраторов:
takeown /F "C:\TargetFolder" /R /A /D Yicacls "C:\TargetFolder" /reset /T /C /QПосле восстановления дескрипторов безопасности повторно инициируйте процедуру массового снятия блокировки через
Unblock-File.
