Впервые с блокировкой файлов, скачанных из интернета или почты я столкнулся когда переносил файловый сервер. Наш сервер на Windows Server 2003 R2 приказал долго жить. Пока он ещё был в состояни и хоть как-то работать, был поднят новый сервер на базе Debian 6 и Samba 3. Разумеется все доменные фичи вроде Kerberos и Windbind также были подняты. И вот наступила ночь переноса данных.

Я столкнулся с тем, что Windows не дает скопировать файл, полученный из интернета или по почте. Для копирования требовалось открыть свойства файла и установить галочку «разблокировать», что учитывая объем данных, напрягало.

При открытии такого документа Word использует защищенный режим.

Просмотр потоков на наличие блокировок

Причем здесь альтернативные потоки? Давайте посмотрим все потоки данных для заблокированного файла. Для этого воспользуемся PowerShell командлетом Get-Item  с параметром -Stream *

 PS C:\Users\mfc166\downloads> Get-Item LAPS_Datasheet.docx -Stream * 

И PowerShell радостно нам рапортует о наличии двух потоков:

:$DATA — собственно данные самого файла

Zone.Identifier — это поток намекает на происхождение файла.

Давайте прочтем содержимое потока. Для этого воспользуемся PowerShell командлетом Get-Content с параметром  -Stream Zone.Identifier

PS C:\Users\mfc166\downloads> Get-Content LAPS_Datasheet.docx -Stream Zone.Identifier

Видим, что файл получен из третьей зоны. За пояснениями обратимся к KB182569. Если кратко, то вот описание зон — файл получен из интернета.

Есть разные утилиты, позволяющие работать с потоками. Та же Streams весьма хороша. Но мы рассмотрим PowerShell. Итак, что можно сделать с блокировкой файлов? Пути два: удалить поток или снять блокировку :

Удаление потока:

Remove-Item -Path LAPS_Datasheet.docx -Stream Zone.Identifier

Как видим, его больше нет:

Снятие блокировки:

Один файл я разблокировал, но ничего — их есть у меня. Вооружаемся всё тем-же PowerShell

Unblock-File LAPS_OperationsGuide.docx

На снимке видно, что я проверил наличие блокировки, снял её и убедился в отсутствии.

Снимать блокировку можно оптом:

PS C:\Users\mfc166\downloads> dir *.docx |Unblock-File

Мы видим, что третий файл, также скачанный из интернета, потерял блокировку.

Рубрики: Windows

0 комментариев

%d такие блоггеры, как: