Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Альтернативные потоки NTFS — удаление Zone.Identifier (http://forum.oszone.net/showthread.php?t=340041)

Anonymоus 09-04-2019 10:26 2867155

Альтернативные потоки NTFS — удаление Zone.Identifier
 
По рабочей надобности разработал систему, генерирующую вордовские документы из шаблонов, но столкнулся с тем, что коллеги жалуются на то, что скачанный файл при открытии открывается в режиме защищенного просмотра. Вручную разрешать редактирование\печать довольно напряжно, если счёт идёт на сотни документов в день. Отключать на рабочих машинах запись 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")


Собственно, сама проблема более наглядно:


Vadikan 09-04-2019 12:09 2867161

Remove-Item
Unblock-File
https://www.outsidethebox.ms/17918/#_Toc432346111

sov44 09-04-2019 12:29 2867164

Anonymоus, Streams https://technet.microsoft.com/ru-ru/...rnals/bb897440

Anonymоus 09-04-2019 12:50 2867166

sov44, да, я в курсе, об этом упомянуто в первом посте:
Цитата:

Цитата Anonymоus
Про streams от sysinternals знаю, но хотелось бы по возможности обойтись без сторонних утилит »

Уже переписал на PS благодаря подсказке от Vadikan:
Код:

Dir $args[0] *.docx  | Unblock-File

YuS_2 09-04-2019 14:42 2867180

Цитата:

Цитата Anonymоus
Про streams от sysinternals знаю, но хотелось бы по возможности обойтись без сторонних утилит, на них безопасники обоснование требуют на каждый чих. »

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

Vadikan 09-04-2019 17:04 2867195

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

YuS_2 09-04-2019 19:21 2867213

Цитата:

Цитата Vadikan
самый простой вариант - включить политику (ссылка в посте 2) »

так ведь речь о безопасниках, а включение политики - конкретное понижение уровня безопасности и если там все строго по инструкции, то на это понадобится не менее весомое обоснование, чем на задействование сторонних утилит...
А создание буферного раздела в формате fat32, дополнительных организационных телодвижений, вряд ли потребует...
Кстати, сходил по ссылке и там, в том числе, тоже есть упоминание варианта про fat32:
Цитата:

Также не забывайте, что ADS — это функция NTFS, т.е. при сохранении или распаковке архива на FAT32 никакой блокировки не происходит.
- что, конечно же, касается не только архивов...


Время: 03:45.

Время: 03:45.
© OSzone.net 2001-