チームメンバーとのコラボレーションやオンライン会議など、ビジネス現場で欠かせない存在となっているMicrosoft Teamsですが、最近リリースされた新バージョンでチャネル内のファイルを開こうとした際に「PrefetchFailure (-2147024891, System.UnauthorizedAccessException)」というエラーが出るケースが報告されています。既存のクラシック版やブラウザー版では問題なくアクセスできるものの、新バージョンだけがうまく機能しない状況は実務上とても厄介です。そこで本記事では、このエラーの原因と考えられる要素、対処方法、さらに管理者向けに行うPowerShellを用いた認証設定の変更などを詳しく解説していきます。快適にTeamsを活用できるよう、ぜひ参考にしてください。
「PrefetchFailure」エラーの概要と特徴
新バージョンのTeamsを利用しているときにチャネル内のファイルへアクセスしようとすると、以下のエラーメッセージが表示されることがあります。
エラーメッセージ例:
「Something went wrong. Please try again or refresh the page. PrefetchFailure (-2147024891, System.UnauthorizedAccessException)」
クラシック(旧)バージョンやブラウザー版のTeamsでは正常にアクセスできるのに、新バージョンのTeamsだけアクセスが制限されてしまうという不可解な状況です。再インストールやキャッシュのクリア、サインイン・サインアウトなどの一般的なトラブルシューティングを行っても解決しないケースがあるため、多くのユーザーが悩んでいます。
エラー発生時の主な特徴
- エラーダイアログに「PrefetchFailure」と表示される
- ファイルがまったく表示されないか、読み取り専用状態になる場合もある
- クラシックTeamsやWeb版からは問題なくアクセス可能
- 一部環境ではテナント全体の認証設定が原因となっている
新旧バージョンの違いが原因?
Microsoftは新バージョンのTeamsで大幅なアプリケーション構造の見直しやUIの刷新を行っています。これによってパフォーマンス面の改善が期待される一方で、クラシック版との互換性に影響が出ることがあります。特に、内部的な認証フローやSharePoint・OneDriveとの連携部分が変化しているため、既存の設定で想定外の不具合が発生する場合があるのです。
対処法1:Teamsキャッシュのクリア
最初に試しておきたいのが、Teamsのキャッシュを徹底的にクリアする方法です。新バージョンのTeamsはクラシック版とは異なるキャッシュパスを使うことがあり、従来のフォルダーを消しても不十分な可能性があります。下記の手順を確実に行い、問題が解消されるかをチェックしてみてください。
Teamsキャッシュクリアの手順
- Teamsを完全に終了させる
- タスクバー上のTeamsアイコンを右クリックし、「終了」をクリック
- 念のためタスクマネージャーからTeams関連のプロセスをすべて終了
- 「ファイル名を指定して実行」でキャッシュフォルダーを開く
%userprofile%\appdata\local\Packages\MSTeams_8wekyb3d8bbwe\LocalCache\Microsoft\MSTeams
- 表示されたフォルダー内のファイルやフォルダーをすべて削除する
- フォルダー内に大量のログファイルやキャッシュデータが含まれることがある
- 削除する前にTeamsが完全に終了していることを再度確認
- Teamsを再起動し、チャネル内ファイルへのアクセスが改善されるか確認
トラブルシューティングのポイント
Teamsはキャッシュを利用して効率的に動作しますが、キャッシュに破損や古い認証情報が残っているとエラーが出やすくなります。特に大型アップデート後などは、新バージョン固有のフォルダーと旧バージョンフォルダーが混在しているケースがあるため、不要ファイルをしっかりと一掃することが大切です。
対処法2:認証プロトコル設定の変更(管理者向け)
新バージョンのTeamsとSharePoint・OneDrive間の認証が噛み合わずに「System.UnauthorizedAccessException」が生じている可能性もあります。特に組織内で厳格なセキュリティポリシーを適用していたり、テナント全体の設定が変更されている場合は、旧来の認証プロトコルが無効になっていることが原因となるケースがあります。以下のPowerShellコマンドを用いた手法は管理者権限が必要です。
準備:PowerShellのインストールと起動
Windows環境の場合、標準でPowerShellがインストールされていますが、必要に応じて以下のモジュールを確認・インストールします。
Install-Module Microsoft.Online.SharePoint.PowerShell
この際、管理者権限でPowerShellを起動することが重要です。インストール途中で「NuGetプロバイダーの更新」が必要な場合は指示に従って進めてください。
SharePointテナントへの接続
テナント管理者アカウントを使ってSharePoint Onlineに接続します。接続コマンドは以下の通りです。
Connect-SPOService -Url https://<組織名>-admin.sharepoint.com
認証情報の入力を求められますので、テナント管理者アカウント(または必要な権限を付与されたアカウント)の資格情報を入力してください。
LegacyAuthProtocolsEnabled設定の確認と変更
SharePoint Onlineテナントには「新旧両方の認証プロトコルを有効にする」か「新しい認証プロトコルのみを許可する」かを制御するパラメーターがあります。新バージョンTeamsとの互換性を持たせるため、まず現在の状態を確認し、必要ならば古い認証プロトコルを一時的に有効化します。
PowerShellコマンド | 説明 |
---|---|
Get-SPOTenant | Select LegacyAuthProtocolsEnabled | 現在のLegacyAuthProtocolsEnabledの設定値を確認 |
Set-SPOTenant -LegacyAuthProtocolsEnabled $True | Legacy認証を有効化する |
設定変更後の確認
上記コマンドを実行してテナント全体の設定を変更したら、一度Teamsを再起動し、同じチャネル内のファイルへアクセスしてみてください。誤った認証情報のままになっている可能性もあるため、念のためTeamsのキャッシュクリアを再度行うか、サインアウト・サインインを試すと効果的です。
セキュリティ面での考慮事項
クラシックな認証プロトコルを有効にすることは、場合によっては組織のセキュリティポリシーにそぐわないと判断されることがあります。特に、より強固なモダン認証に一本化をすすめている企業や団体では、セキュリティリスクとなり得るため慎重に対応する必要があります。以下の点に注意しましょう。
セキュリティポリシーとの整合性
- ITセキュリティ担当部署が存在する場合は、事前に相談して承認を得る
- 限定的なユーザーまたはグループ単位でのテストを行い、大規模導入前に影響範囲を調査
- 新バージョンTeamsの対応状況が安定してきたら、LegacyAuthProtocolsEnabledを再度Falseに戻すことも検討
ログ監査とアラート設定
SharePoint OnlineやTeams、Azure ADのログ監査を適切に有効化し、認証まわりの不審な挙動を早期に検知できるようにしておくことも重要です。また、条件付きアクセス(Conditional Access)を設定している企業の場合、新バージョンTeamsが想定外のパス経由で認証を要求しているとブロックされる可能性もありますので、あわせて検討が必要です。
追加のトラブルシューティングポイント
さらに以下のような追加アクションをとることで解決に近づけるケースがあります。
Officeアプリとの連携を確認
TeamsはSharePointやOneDriveのみならず、Word、Excel、PowerPointなどのOfficeアプリケーションとも認証やデータのやりとりを連携することがあります。Officeアプリ自体が最新バージョンに更新されていないと想定外のエラーが起きることも報告されています。定期的にOfficeの更新プログラムを適用しているか確認してください。
ネットワーク環境の見直し
厳密なファイアウォール設定やプロキシサーバーを導入している場合、Teamsの通信がブロックされる可能性もあります。特に新バージョンのTeamsで追加されたポートやエンドポイントが正しく許可されていないと、初回認証処理の一部が失敗してエラーとなるケースがあります。Microsoft公式ドキュメントで公開されている通信先ドメインやポートリストを参照しながら、ネットワーク管理者に依頼して設定を点検してみてください。
ブラウザー版でもエラーが出るか確認する
ブラウザー版でまったく問題なくアクセスできるのであれば、Teamsアプリ固有のキャッシュ破損や設定不備が原因である可能性が高いです。しかしまれにブラウザー版でも同様のエラーが出る場合、SharePoint OnlineやOneDrive側の設定に問題があるか、またはテナントレベルの認証・権限設定が誤っていることを示唆します。
最終的にMicrosoftサポートへ問い合わせ
どうしてもエラーが解消しない場合はMicrosoft 365管理センターやMicrosoftサポートに問い合わせるのも選択肢の一つです。ログの取得手順や詳細な検証をサポートしてもらえるため、早期解決につながる可能性が高まります。問い合わせ時には以下の情報を整理しておくとスムーズです。
- エラー発生日時と頻度
- 影響を受けているユーザーやデバイスの種類
- OSバージョンやTeamsアプリバージョン
- 既に試したトラブルシューティングの手順
まとめ:根気よく原因を切り分けて解決へ
「PrefetchFailure (-2147024891, System.UnauthorizedAccessException)」エラーは、新バージョンのTeamsとSharePoint・OneDrive間の認証やキャッシュの不具合が主な原因と考えられます。まずはキャッシュクリアで解消することが多いですが、それで不十分な場合はPowerShellによるLegacy認証プロトコルの有効化を検討するといった多角的なアプローチが必要です。ただし、セキュリティリスクとのバランスを考慮し、適切な管理者権限と組織のポリシーを遵守した上で実行することが大切です。最終的にはMicrosoftサポートを頼る選択肢も検討しつつ、早期に問題を解決してTeamsを最大限に活用していきましょう。
コメント