8

【茶包射手日記】SharePoint 文件庫無法「在檔案總管中開啟」

 3 years ago
source link: https://blog.darkthread.net/blog/failed-open-sps-doclib-in-file-explorer/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
【茶包射手日記】SharePoint 文件庫無法「在檔案總管中開啟」-黑暗執行緒

SharePoint 文件庫有個好用的「在檔案總管中開啟」功能(限 IE 瀏覽器),允許以資料夾形式管理文件庫的檔案,在檔案總管可拖拉複製搬移,比網頁介面方便十倍。但我有個困擾,這項功能時好時壞,有時可以順利開啟,有時則會彈出「我們在檔案總管中開啟此文件庫時發生問題」錯誤:

實務面臨的狀況則是有些人沒問題,有些人完全沒法用,像我則是時好時壞,一時也理不出頭緒。

同事初步調查發現,成功開啟時 IE 的「目前已載入的附加元件」清單會出現 "SharePoint Export Database Launcher" 元件,若沒看到就會遇到上面所說錯誤。一開始懷疑是 IE 跑成 64 位元無法載入 32 位元附加元件導致問題,後來確認 IE 預設是跑 32 位元沒錯(兩個純 64 位元的 Send to OneNote 跟 OneNote Linked Notes 無法使用亦可證明),直接排除位元模式相容性。(延伸閱讀:64 位元 Windows 10 下 IE11 會跑 32 位元還是 64 位元?)

由此推測,附加元件沒出現是結果而非原因,無法在檔案總管中開啟另有隱情,但 SharePoint 運作如黑盒子,這類問題要從何查起呢?薑薑薑薑~~ 又是茶包一哥 - Process Monitor 登場的時刻了。

啟動 Process Monitor 側錄事件(最新版本把圖示都換了,我差點不會用),重現在檔案總管中開啟錯誤,查到一則可疑檔案讀寫記錄,路徑為 \\sps-server\DavWWWRoot\project\SITE-NAME\Documents\DOC-LIB-NAME,發生 ACCESS DENIED 錯誤:

線索指向連線 SharePoint WebDAV 網址存取被拒,我試著直接在檔案總管輸入 SharePoint 網址驗證,會跳出登入對話框,輸入正確帳號密碼後檔案總管可瀏覽文件庫內容,證明並不是因為沒有權限。

回頭再測試網頁上的「在檔案總管中開啟」,居然就能順利開啟了。

綜合以上線索,推測出錯原因是網頁附加元件無能自動登入 SharePoint WebDAV,也沒跳出登入對話框完成身分認證(不確定這是 By Design 還是 Bug),錯誤訊息亦沒提示是存取被拒造成,只含糊地說「我們在檔案總管中開啟此文件庫時發生問題」,錯誤訊息畫面導向的線上文件列舉了無法運作的幾種可能狀況:

  1. 瀏覽器不支援 ActiveX
  2. IE 封鎖了 ActiveX 控制項或附加元件
  3. 使用 64 位元版 IE
  4. 未安裝 SharePoint 附加元件
  5. WebClient 服務未啟動

在我的案例一一被排除。說明文件還建議改用 OneDrive 同步功能取代檔案總管開啟,但一次性開啟文件庫做操作跟把整個文件庫在本機同步一份是完全不同的概念,我不覺得[同步處理]能取代 [在檔案總管中開啟]。看似無解的問題,所幸靠著 Process Monitor 找到線索,就先靠這個 Workaround 改善了。


Recommend

  • 16

    【茶包射手日記】怪異的 .NET 數學運算溢位錯誤-黑暗執行緒 同事報案,某支提供檔案下載的 ASP.NET 程式,用瀏覽器可正常開啟,但有一支用 HttpWebRequest 存取它的 .NET 程式,原本可以執行,現在則出現 Arithmetic operation resulted in an ove...

  • 10

    【茶包射手日記】IIS 整合式登入 MSSQL 之 AppPool 身分疑雲-黑暗執行緒前天提到我在 IIS 試跑 ASP.NET Core 開源專案 - Kandu,它的資料庫是用 MSSQL,本機跑測試我懶得開帳號,便把連線字串設成 Integrated Security=SSPI 打算走整合式驗證,用 AppPool 的身...

  • 11

    【茶包射手日記】IIS 跑 ASP.NET Core 出現 500.19 0x8007000d 錯誤-黑暗執行緒 低級錯誤一枚。 我玩 ASP.NET Core 多半是跑 VS 偵錯後丟進 Docker 跑,很久沒部署到 IIS,但方法我還記得:Publish、開 AppPool,也記得要設成「沒有受控碼」(No Man...

  • 12

    【茶包射手日記】從 Oracle 改用 MSSQL 出現中文亂碼-黑暗執行緒 將某個老系統的資料來源由 Oracle 換成 MSSQL,遇到一個有意思的狀況。 在 Oracle 與 MSSQL 都有 Schema 完全相同的資料表,資料原本來自 Oracle NVARCHAR,改用 MSSQL 後,部分中文...

  • 13

    【茶包射手日記】偶發型 Oracle Client 版本不相容錯誤-黑暗執行緒同事報案,有個 ASP.NET 網站「偶爾」會出現提供者與 Oracle 從屬版本不相容錯誤。這是 Unmanaged ODP.NET...

  • 25

    【茶包射手日記】用 USB 安裝 Win10 找不到媒體驅動程式-黑暗執行緒2018 開春第一砲包。 元旦在家當工具人,幫小閃光的 Toshiba 小筆電重灌 OS。Windows 10 1709 的 ISO 檔超過 4.8 GB 燒不進 DVD.....

  • 60

    【茶包射手日記】超詭異 Oracle Unicode 難字問題-黑暗執行緒Oracle 遇難字出錯不算新鮮事,現象不外乎中文字變空白變方格變問號變亂碼,老司機們一眼便知,該怎麼做心裡有數,但這回我遇到超不一樣的變種。(這樣算有吸引詭異茶包的特殊體質嗎?) 碰到一...

  • 12

    【茶包射手日記】遠端桌面剪貼簿失效 2014-11-06 08:57 PM

  • 8
    • blog.darkthread.net 3 years ago
    • Cache

    【茶包射手日記】HtmlDecode 鬼打牆記

    【茶包射手日記】HtmlDecode 鬼打牆記-黑暗執行緒 好久沒有鬼打牆,PO 文紀念兼反省。 有個網站代理下載功能,要從 HTML 用 Regex 擷取某個下載 URL,經過加密轉交 ASPX,由 ASPX 自其他主機下載內容再轉回瀏覽器。 (資安提醒:設計這類應用請務必...

  • 10

    【茶包射手日記】防止 WebForm 重複 PostBack 與 UpdatePanel-黑暗執行緒今年初為解決 ASP.NET WebForm 在 IE 會重複 PostBack 問題,我想到在 Form onsubmit 事件加入控制旗標的解法...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK