Excel: отключить предупреждение «Некоторые файлы могут содержать вирусы» при открытии ссылок на файлы

Excel: отключить предупреждение «Некоторые файлы могут содержать вирусы» при открытии ссылок на файлы

У меня есть большая таблица Excel с множеством локальных файловых гиперссылок на файлы PDF. Эти ссылки часто нажимаются, и каждый раз появляется предупреждение:

Открытие <путь\к\файлу.pdf>

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

Хотите открыть этот файл?

Это диалоговое окно крайне раздражает. Есть ли способ его отключить?

Что я пробовал (ничего не помогло):

  • В реестре добавьте DisableHyperlinkWarning REG_DWORD 0x00000001. Я пробовал в следующих ключах:

    • Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Common

    • Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Common\Security

    • Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common

    • Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\Security

  • В реестре включите доверенный протокол через HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\xx.0\Common\Security\Trusted Protocols\All Applications. В разделе "Microsoft" нет ключа "Office".

  • В реестре перейдите в раздел Computer\HKEY_CLASSES_ROOT\.pdfи добавьте ключEditFlags REG_DWORD 0x00010000

  • Кнопка Пуск Windows ➔ Свойства обозревателя ➔ Безопасность ➔ Надежные сайты. Невозможно добавить file://ссылку на локальную папку.

  • Excel ➔ Параметры Excel ➔ Центр управления безопасностью ➔ Надежные расположения. Добавил папку в Расположение пользователей, перезапустил Excel, предупреждение все равно появляется.

Версия Excel: «Microsoft Excel для Office 365 MSO (16.0.12527.21378) 64-разрядная версия»

решение1

Возможно, файлы .pdf имеют альтернативные потоки дат с идентификаторами зон. Чтобы проверить, откройтеPowerShellwindow в каталоге, содержащем файлы, затем скопируйте и вставьте эту команду:

(Get-Item *.pdf -Stream 'Zone.Identifier' -ea silent).FileName

Если эта команда возвращает имена файлов, они имеют идентификаторы зоны ADS.

А если вы хотите удалить их из файлов:

Get-Item *.pdf -Stream 'Zone.Identifier' -ea silent | ForEach {
    Unblock-File -LiteralPath $_.FileName }

Подробнее об идентификаторах ADS/зон

Если вам интересно, то наиболее вероятное место, где среднестатистический пользователь найдет файлы с ADS, это вашЗагрузкикаталог (Windows добавляет идентификатор зоны во время загрузки). Вы можете просмотреть информацию в ADS, запустив этот код из вашегоЗагрузкикаталог:

Get-Item * -Stream 'Zone.Identifier' -ea silent | ForEach{
[PSCustomObject]@{
    'Name'   = ( Split-Path $_.FileName -Leaf )
    'ZoneID' = ( Get-Content -LiteralPath $_.PSPath -Raw )
}} | Out-GridView

Пример вывода

Также, некоторые .urlфайлы (те, что на рабочем столе?) имеют ADS, который инкапсулирует .icoфайл. Если у вас есть .urlярлыки на рабочем столе, попробуйте следующее изРабочий столкаталог:

gci *.url | Where { (gi $_ -Stream *).Count -gt 1 } | ForEach{ (gi $_ -Stream *).PSChildName }

Выход:

PS C:\...\Desktop>gci *.url | Where { (gi $_ -Stream *).Count -gt 1 } | ForEach{ (gi $_ -Stream *).PSChildName }
CTA  Bus Tracker.url::$DATA
CTA  Bus Tracker.url:favicon
Morning Joe - Joe Scarborough, Mika Brzezinski, & Willie Geist.url::$DATA
Morning Joe - Joe Scarborough, Mika Brzezinski, & Willie Geist.url:favicon
Technet forums.url::$DATA
Technet forums.url:favicon
PS C:\...\Desktop>

Если вы хотите извлечь значки:

gi *.url -Stream favicon -ea silent | ForEach {
    $Splat = @{
        'LiteralPath' = "$($_.FileName).ico"
        'Value'       = Get-Content -Literal $_.PSPath -Raw -Encoding Byte
        'Encoding'    = 'Byte'
        'FOrce'       = $True
    }
    Set-Content @Splat
}

Чтобы выполнить поиск файлов с ADS в папке и ее подпапках:

Get-CHildItem -Directory -Recurse | ForEach {

    If ( ( $ADS = Get-Item "$($_.FullName)\*" -Stream * | ? Stream -ne ':$DATA' ).Count -ne 0 ) {
        $ADS | ForEach { Get-Item -Literal $_.FIleName }
    }
}

решение2

Диалоговое окно «вставить гиперссылку» в Office 365 выглядит как зомби из Windows XP. И если в этом диалоговом окне нажать кнопку «просмотреть веб», как ни странно, откроется Internet Explorer. Это заставляет меня думать, что, вероятно, все гиперссылки в Office направляются через dll Internet Explorer, так что, возможно, что-то должно быть связано с настройками безопасности, связанными с Explorer. На самом деле, Office 365 использует информационную панель, а не всплывающие окна для предупреждений безопасности, это заставляет меня думать, что ваше всплывающее окно на самом деле унаследовано от Internet Explorer.

Мне не удалось воспроизвести вашу проблему, но эти шаги могут указать вам (или кому-то другому) правильное направление.

Откройте Панель управления. Нажмите «Сеть и Интернет» -> «Свойства обозревателя».

В открывшемся окне «Свойства обозревателя» перейдите на вкладку «Безопасность». И в «Местной интрасети», и в «Надежных узлах» установите «Уровень безопасности для этой зоны» на «Низкий». Также снимите галочку «Включить защищенный режим», если она установлена.

введите описание изображения здесь

решение3

В реестре я нашел этот ключ: HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\ProtocolDefaults Значения для каждого протокола, скорее всего, являются идентификаторами зон — это объясняет, почему файлы без ADS по-прежнему ведут себя как Zone 3файлы.

введите описание изображения здесь

Пытаться:

  1. изменение значения записи fileна 0( Computer) или 1 ( Local Intranet)
  2. Перезапуск
  3. Тест

Связанный контент