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
Он свою задачу выполняет, но по сути просто обнуляет содержимое потока вместо его удаления, и я не уверен, полностью ли это корректно и не вызовет ли проблем в дальнейшем. Собственно, вопрос — существует ли встроенная в 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