Excel:打开文件链接时禁用“某些文件可能包含病毒”警告

Excel:打开文件链接时禁用“某些文件可能包含病毒”警告

我有一张很大的 Excel 表,其中包含大量指向 PDF 文件的本地文件超链接。这些链接经常被点击,每次都会弹出警告:

打开 <path\to\file.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 开始按钮 ➔ Internet 选项 ➔ 安全 ➔ 受信任的站点。无法添加file://本地文件夹的链接。

  • Excel ➔ Excel 选项 ➔ 信任中心 ➔ 受信任位置。在用户位置下添加文件夹,重新启动 Excel,警告仍然弹出。

Excel 版本:“Microsoft Excel for Office 365 MSO (16.0.12527.21378) 64 位”

答案1

.pdf 文件可能含有带区域标识符的备用日期流。要检查,请打开电源外壳包含文件的目录中的窗口,然后复制并粘贴此命令:

(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 在下载过程中添加区域标识符)。您可以通过从您的下载目录:

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 中的所有超链接可能都是通过 Internet Explorer 的 dll 路由的,因此它可能与您的 Explorer 相关安全设置有关。事实上,Office 365 使用信息栏而不是弹出窗口来显示安全警告,这让我认为您的弹出窗口实际上是从 Internet Explorer 继承而来的。

我无法复制您的问题,但这些步骤可能会为您(或其他人)指明正确的方向。

打开控制面板。单击“网络和 Internet”->“Internet 选项”。

在打开的“Internet 属性”窗口中,转到“安全”选项卡。在“本地 Intranet”和“受信任的站点”上,将“此区域的安全级别”设置为“低”。此外,如果已选中“启用保护模式”,请取消勾选。

在此处输入图片描述

答案3

在注册表中,我发现了此项: HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\ProtocolDefaults 每个协议的值很可能是区域标识符 - 它可以解释没有 ADS 的文件仍然像Zone 3文件一样运行。

在此处输入图片描述

尝试:

  1. 将条目的值更改file0( Computer) 或1 ( Local Intranet)
  2. 重新开始
  3. 测试

相关内容