6

Ответы в «Этот файл пришли с другого компьютера ...» - как я могу разблокировать все файлы в папке без необходимости разблокировать их по отдельности? объясните, как "разблокировать" файл, полученный из удаленного источника. В целях тестирования я хотел бы выполнить обратное. Как установить идентификатор зоны файла, чтобы Windows "блокировала" его?

Я неравнодушен к решению PowerShell, но приемлемы другие механизмы.

1 ответ1

10

Когда файл загружен, вы можете заметить, что в диалоговом окне свойств файла есть дополнительный раздел « Security » с Unblock :

Эти дополнительные данные о файле хранятся в альтернативном потоке данных (ADS). Альтернативные потоки данных можно просматривать несколькими способами с помощью таких инструментов, как потоки, но теперь удобнее с PowerShell.

Например, чтобы просмотреть все потоки файла, можно использовать следующую команду PowerShell:

Get-Item -Path Autologon.exe -Stream *

Вывод следующий:

PSPath        : Microsoft.PowerShell.Core\FileSystem::C:\ads\Autologon.exe::$DATA
PSParentPath  : Microsoft.PowerShell.Core\FileSystem::C:\ads
PSChildName   : Autologon.exe::$DATA
PSDrive       : C
PSProvider    : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : False
FileName      : C:\ads\Autologon.exe
Stream        : :$DATA
Length        : 138920

PSPath        : Microsoft.PowerShell.Core\FileSystem::C:\ads\Autologon.exe:Zone.Identifier
PSParentPath  : Microsoft.PowerShell.Core\FileSystem::C:\ads
PSChildName   : Autologon.exe:Zone.Identifier
PSDrive       : C
PSProvider    : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : False
FileName      : C:\ads\Autologon.exe
Stream        : Zone.Identifier
Length        : 26

Для целей этого вопроса это Zone.Identifier потока, который нас интересует.

Чтобы вручную добавить или обновить Zone.Identifier именованный поток и установив значение потока, мы можем запустить следующую команду PowerShell:

Set-Content -Path .\file.exe -Stream Zone.Identifier -Value '[ZoneTransfer]','ZoneId=3'

Где указанный ZoneId может принимать одно из следующих значений:

0 = "Local machine"
1 = "Local intranet"
2 = "Trusted sites"
3 = "Internet"
4 = "Restricted sites"

Примечание . Чтобы удалить поток ZoneTransfer из файла и, следовательно, выполнить ту же операцию, что и разблокирование файла в диалоговом окне свойств файла, вы можете выполнить следующую команду: Remove-Item -Path .\file.exe -Stream Zone.Identifier

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