Удаление «Открыть файл - Предупреждение безопасности» в Windows 8?

9

Мне нравится изучать много кода из различных источников по всему Интернету, и большая часть этого включает загрузку и открытие файлов для просмотра исходного кода.

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

На этом сайте есть много ответов, которые касаются этой проблемы в следующих ОС; Vista, XP и 7, но я не мог найти один на 8, и я не мог заставить другие работать!

Может кто-нибудь сказать мне, как отключить эту очень раздражающую функцию для кого-то, как я?

CarlG
источник
3
Это помечает файл как внешний из-за настроек вашей зоны в IE. Эта информация хранится в [Альтернативном потоке данных] [1] в файле, который вы скачали. Вы можете исправить это, нажав Разблокировать в свойствах файла, но мне нравится работать так: введите имя файла> имя нового файла. Del имя файла. Переименуйте имя нового файла в имя файла. Вуаля - больше нет альтернативного потока данных. Если это слишком экстремально, вы можете использовать streams.exe ([download] [2]) для удаления альтернативных потоков данных. [1]: support.microsoft.com/kb/105763 [2]: technet.microsoft.com/en-us/sysinternals/bb897440.aspx
Марк Аллен
2
Кроме того, какая часть решения Windows 7 не работает для Windows 8?
Марк Аллен
1
@MarkAllen вы также можете использовать команду powershell, описанную на blogs.technet.com/b/askcore/archive/2013/03/24/…, чтобы удалить альтернативный поток данных ntfs «Zone.Identifier» с помощью этой команды, remove-item -path "somefile.zip" -stream "Zone.Identifier"и это тоже будет работать ,
BeowulfNode42
@ BeowulfNode42 Мне это нравится!
Марк Аллен

Ответы:

3

У меня была очень похожая проблема на моем новом ноутбуке с Windows 8. Значки на рабочем столе (.lnk) выдают то же самое «предупреждение о безопасности открытого файла». Не знаю, почему или что случилось, но какая боль. Я наконец нашел решение, по крайней мере для значков на рабочем столе, делающих это. Я не хотел исправлять это с изменениями настроек IE10, как некоторые предлагают, потому что это казалось рискованным.

Это сработало для меня:

  1. Нажмите Windows button+, Xчтобы открыть меню Инструменты
  2. Выберите: Командная строка (admin), чтобы открыть черное окно DOS с C:\Windows\system32\>
  3. Войти

    cd \Users
    

    Дисплей теперь говорит C:\Users>

  4. Введите (заменив «Ваше имя» на ваше имя пользователя)

    cd YourName 
    

    Дисплей теперь говорит C:\Users\YourName>

  5. Войти

    cd Favorites 
    

    Дисплей теперь говорит C:\Users\YourName\Favorites>

  6. Войти

    cd Desktop 
    

    Дисплей теперь говорит C:\Users\YourName\Favorites\Desktop>

  7. Введите и введите:

    C:\Users\YourName\Favorites\Desktop>ICACLS *.LNK /L /SETINTEGRITYLEVEL MED
    

Все ссылки на вашем рабочем столе должны выглядеть так:

обработанный файл: what.lnk
успешно обработал 10 файлов; Не удалось обработать 0 файлов.

Извините за длинную руку над командами DOS, я помню их в те времена, но это сделано для того, чтобы каждый мог легко их выполнить.

puzzlelocked1234
источник
Сначала попробовал, но без разницы. Установка SEE_MASK_NOZONECHECKS (см. Ниже) выполнена.
Umber Ferrule
2

Добавьте системную переменную среды SEE_MASK_NOZONECHECKSи установите значение 1.

Убедитесь, что это переменная системного уровня, или она исчезнет при перезагрузке.

Использование переменной среды в Windows 8

Технарь
источник
«Убедитесь, что ..»: Вы имеете в виду правильные вещи, но это не поможет новичку: вы также можете создать его для текущего пользователя, часто этого достаточно, это зависит от того, что вы хотите (см. Ниже). Вы имеете в виду, что изменение должно быть постоянным, а это не так, если вы используете команду «set», например.
Филм
Я обнаружил (по крайней мере в Windows 7), что SEE_MASK_NOZONECHECKSvar удаляется userinit.exeперед запуском explorer при входе в систему (в функции StartTheShell), поэтому explorer в итоге не наследует его из набора переменных среды системного уровня. Просто подумал, что упомяну это ради кого-то еще, кто планирует попробовать этот подход.
Cauterite
2
@setx see_mask_nozonechecks 1

напечатав его в командной строке или выполнив внутри пакетного файла, вы создадите переменную окружения, о которой упоминал Дасун , для текущего пользователя

катастрофический провал
источник
+1 Это работает, это самое главное. Чтобы объяснить, когда использовать какую команду, некоторая информация отсутствует. Я постараюсь расширить подсказку в собственном ответе.
Филм
1

Изменение переменной среды SEE_MASK_NOZONECHECKS, как указано в других ответах, - это путь. Я объясню здесь более подробно. Он имеет преимущества, потому что он не только убирает флаг «загружен через Интернет» как команду «ICACLS myfiles. * / L / SETINTEGRITYLEVEL MED» или аналогичные методы, но также работает, если файлы запускаются с небезопасного сетевого диска, такого как UNC. пути.

Но интересный момент заключается в том , как установить эту переменную среды:

  1. Если вам это нужно только для настройки, которая должна выполняться автоматически на сторонних машинах, было бы небезопасно постоянно изменять эту переменную. Но вы можете временно изменить его в своем процессе перед началом установки, например, в пакетном файле с «SET». По умолчанию среда наследуется дочерним процессам, например, запущенным в том же пакете.

  2. Среда зависит от пользователя. Если пользователь не имеет прав администратора или поведение должно быть изменено только для одного пользователя, примите команду, уже упомянутую:

    setx see_mask_nozonechecks 1

  3. Если вы хотите изменить поведение не только навсегда, но и для всех пользователей (всей машины), добавьте параметр / m в командную строку:

    setx see_mask_nozonechecks 1 / m

Еще одно замечание: в Windows Server 2012 R2 я не получаю предупреждение при доступе к удаленному (не доменному) диску, такому как общий диск VMWare. Мне нужен этот трюк только под Windows Server 2008 R2 и ранее (также с Win7 / 8).

Philm
источник
0

Вы должны быть в состоянии решить эту проблему путем правильной настройки доверенных сайтов?

В противном случае попробуйте это.

Close internet explorer
Open up a cmd prompt
cd "\Program Files\Internet Explorer"
set SEE_MASK_NOZONECHECKS=1
iexplore

Это позволяет открывать файл непосредственно из Internet Explorer, однако файл на диске все равно будет «заблокирован».

Еще одно решение - открыть файлы прямо из вашего текстового ридера, т.е. Notepad ++. Это исследователь, который обеспечивает предупреждение.

См .: «Этот файл пришел с другого компьютера ...» - как я могу разблокировать все файлы в папке без необходимости разблокировать их по отдельности?

Майкл
источник
0

Простая команда PowerShell для исправления таких файлов:

Unblock-File -Path

Это по существу удаляет ADS, который IE шлепает при загрузке из других источников. Также полезен следующий скрипт, если вы хотите найти и удалить все заблокированные файлы, загруженные в папку:

#Search and unblock all files recursively
$p="C:\Download Folder\*"

$c=gci -Path $p -Recurse | gi -Stream "Zone.Identifier" -ErrorAction SilentlyContinue
foreach ($f in $c)
    {Unblock-File $f.FileName}
VirtuoBoy
источник