
我有一個很大的 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」和「受信任的網站」上,將「該區域的安全等級」設定為「低」。另外,取消選取「啟用保護模式」(如果已選取)。