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 在下載過程中新增區域識別碼)。您可以透過從您的電腦執行此程式碼來查看 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 中的所有超連結可能都是透過 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. 將條目的值改為file( 0)Computer1 ( Local Intranet)
  2. 重新開始
  3. 測試

相關內容