Войти

Показать полную графическую версию : [решено] Альтернативные потоки NTFS — удаление Zone.Identifier


Anonymоus
09-04-2019, 10:26
По рабочей надобности разработал систему, генерирующую вордовские документы из шаблонов, но столкнулся с тем, что коллеги жалуются на то, что скачанный файл при открытии открывается в режиме защищенного просмотра. Вручную разрешать редактирование\печать довольно напряжно, если счёт идёт на сотни документов в день. Отключать на рабочих машинах запись Zone.Identifier глобально через групповые политики счёл нецелесообразным и даже вредным, поэтому в качестве решения был написан данный скрипт, запускающийся через планировщик и нацеленный на расшаренную директорию с сохранёнными сгенерированными документами.

Он свою задачу выполняет, но по сути просто обнуляет содержимое потока вместо его удаления, и я не уверен, полностью ли это корректно и не вызовет ли проблем в дальнейшем. Собственно, вопрос — существует ли встроенная в Windows CLI-утилита, которая способна удалять поток? Про streams от sysinternals знаю, но хотелось бы по возможности обойтись без сторонних утилит, на них безопасники обоснование требуют на каждый чих.

@Echo Off
CD /D "%~1"
ChCP 65001>nul
For /F "eol= tokens=1,*" %%A In ('Dir /R /A:-D /-C /N^|FindStr /C:"Zone.Identifier"') Do (Echo.>"%%B")
http://ipic.su/img/img7/fs/1.1554794224.jpg
http://ipic.su/img/img7/fs/2.1554794324.jpg

Vadikan
09-04-2019, 12:09
Remove-Item
Unblock-File
http://www.outsidethebox.ms/17918/#_Toc432346111

sov44
09-04-2019, 12:29
Anonymоus, Streams https://technet.microsoft.com/ru-ru/sysinternals/bb897440

Anonymоus
09-04-2019, 12:50
sov44, да, я в курсе, об этом упомянуто в первом посте:
Про streams от sysinternals знаю, но хотелось бы по возможности обойтись без сторонних утилит »
Уже переписал на PS благодаря подсказке от Vadikan:
Dir $args[0] *.docx | Unblock-File

YuS_2
09-04-2019, 14:42
Про streams от sysinternals знаю, но хотелось бы по возможности обойтись без сторонних утилит, на них безопасники обоснование требуют на каждый чих. »
Раз уж безопасники требуют... самый простой вариант, который работает безо всяких утилит и даже без cmd/powershell:
для получаемых файлов создать раздел в FAT32 и помещать туда все входящие файлы... после этой процедуры, файлы можно перемещать внутри дисков на любые файловые системы, не опасаясь, что альтернативные потоки где-то всплывут. :)

Vadikan
09-04-2019, 17:04
YuS_2, самый простой вариант - включить политику (ссылка в посте 2)

YuS_2
09-04-2019, 19:21
самый простой вариант - включить политику (ссылка в посте 2) »
так ведь речь о безопасниках, а включение политики - конкретное понижение уровня безопасности и если там все строго по инструкции, то на это понадобится не менее весомое обоснование, чем на задействование сторонних утилит...
А создание буферного раздела в формате fat32, дополнительных организационных телодвижений, вряд ли потребует...
Кстати, сходил по ссылке и там, в том числе, тоже есть упоминание варианта про fat32:
Также не забывайте, что ADS — это функция NTFS, т.е. при сохранении или распаковке архива на FAT32 никакой блокировки не происходит.
- что, конечно же, касается не только архивов...




© OSzone.net 2001-2012