在整個組織中部署 Teams Chat Exporter
給 IT 管理員
Teams Chat Exporter 是一個面向使用者的匯出工具,完全在瀏覽器中以已登入的使用者身分執行。它不需要應用程式註冊、不需要 Microsoft Graph 管理員同意,也不需要 Teams 環境層級的變更。你可以在整個組織中部署它,並用既有的瀏覽器管理機制控管。
擴充功能 ID
- Chrome:
jmghclbfbbapimhbgnpffbimphlpolnm - Edge:
phlomfiieaggnbfpacmjmidcjdlaiplp - Firefox:
n.gedizaydindogmus@gmail.com
強制安裝
使用你現有的瀏覽器原則管理機制。
- Chrome 與 Edge:透過 Group Policy 或 Intune 將擴充功能 ID 加入
ExtensionInstallForcelist。 - Firefox:在
policies.json中使用ExtensionSettings原則(或你所用管理機制的對應設定),搭配上方的 Firefox 附加元件 ID。
權限,以及每項權限為何必要
這些是擴充功能所要求的權限,取自已發布的資訊清單。每一項都在使用者自己的裝置上、以已登入的使用者身分執行。
- scripting:匯出時在作用中的 Teams 分頁插入一小段輔助程式,用來擷取內容指令碼存取不到的內嵌影像(Cookie 已依 Teams 的影像主機分割隔離)。不會載入任何外部程式碼。
- activeTab:匯出時讀取作用中的 Teams 分頁,以呼叫 Teams 自家的訊息 API,僅在該 API 無法使用時才改用 DOM 備援。不讀取其他分頁,也不在背景讀取。
- downloads、downloads.open:當使用者按下「匯出」時,透過瀏覽器的「另存新檔」對話框儲存匯出內容,並可從彈出視窗的歷史記錄中重新開啟已儲存的檔案。僅限擴充功能自己建立的下載 ID。
- storage:在本機儲存匯出偏好設定(格式、語言、納入內容、日期篩選)。只由彈出視窗讀取,絕不傳送到裝置以外。
- offscreen(僅 Chrome 與 Edge):一份隱藏的畫面外文件會將表情符號點陣化以產生 PDF 輸出,並產生用來儲存大型檔案的 blob URL,兩者皆完全在裝置上進行。Firefox 不使用它。
主機存取權
擴充功能只連線到 Microsoft 主機,而且只連線目前匯出所需的主機。資訊清單列出各類 Teams 變體加上少數 Microsoft 媒體主機,讓工具能適用於不同 Teams 環境。每次匯出只會與使用者目前登入的那個 Teams 來源(作用中分頁)通訊,並且只有在所選對話實際包含相關項目時才連線媒體主機。
- Teams Web 來源:
teams.microsoft.com、teams.cloud.microsoft、teams.live.com、teams.microsoft.us(GCC High),加上.mcas.ms代理以及主權雲(.us、.cn)變體。每次匯出只使用登入環境對應的來源。 graph.microsoft.com(政府雲為.us):解析參與者的顯示名稱,且僅在使用者開啟「包含大頭貼」(預設關閉)時才取得大頭貼。*.asm.skype.com:個人 Teams Free 帳號上貼進訊息的內嵌影像,僅在訊息含有這類影像時。*.sharepoint.com/.us:透過迴紋針附加的影像檔案,下載僅為了讓圖片出現在匯出內容中。其他檔案類型則保留為連結,不會下載。- 選用的
<all_urls>:預設關閉。僅在使用者啟用「設定」中的「影像擷取備援」開關時才於執行階段要求,該功能會在 Teams 影像代理無法連線時還原連結預覽縮圖。
資料處理
沒有任何資料送往第三方或開發者的伺服器。訊息及其媒體使用使用者現有的工作階段,從 Microsoft 自家服務讀取,在裝置上格式化,再透過瀏覽器的「另存新檔」對話框儲存,由使用者選擇資料夾與檔名。不經代理、不走雲端,擴充功能中也沒有任何形式的分析功能或遙測。它以已登入的使用者身分執行,使用該使用者已具備的存取權。
原始碼與授權
以 MIT 授權開放原始碼。閱讀程式碼或自行建置: github.com/gediz/teams-web-chat-exporter。發行歷史請見 變更記錄.