この投稿は、Office 365 Advent Calendar 2017 の 9 日目の記事です。
昨年の Office 365 Advent Calendar では、OneDrive の Troubleshooting について書きました。
前回の最後に 「OneDrive の Log は、<%USERPROFILE%\AppData\Local\Microsoft\OneDrive> に保存されている」と書きましたが、今回はその中にある Microsoft がトラブルシューティング時に集めている情報について、どんなログを集めているのか、ちょっと見てみましょう。
OneDrive で問題が一度でも発生すると、サポート側へログ ファイルが自動的に送付されるのですが、その際にログ ファイルなどを集める CollectSyncLogs.bat ファイルが作られます。
*問題が発生してない場合は、.bat ファイルは作成されないです。
どこに作成されるかというと、<%USERPROFILE%\AppData\Local\Microsoft\OneDrive> の中に作られる OneDrive のバージョン番号が書かれたフォルダになります。
.bat ファイルなので、エディターなどで中が見れます。
どんなファイルを取りに行ってるのかざっと見たところ、こんな感じでした。
- アプリケーション イベント ログ
- 新たに “SaveApplicationEventLogs.wsf” というスクリプト ファイルが作成されます。
- この VSScript の中を見ると、Application と System の両方のイベント ログを取得してます。
*イベント ログは eventvwr で確認できますね。。。
- 環境変数一覧
- set > “%WORKINGDIR%\env.txt”
- 問題発生時に実行しているタスク (プロセス) 一覧
- tasklist /v > “%WORKINGDIR%\tasklist.txt”
- システム情報
- systeminfo > “%WORKINGDIR%\systeminfo.txt”
- 起動してるサービスの一覧
- net start > “%WORKINGDIR%\services.txt”
- OneDrive の実行 Path のディレクトリとファイルの PATH 一覧
- dir /S “%CLIENTPATH%” > “%WORKINGDIRONEDRIVE%\tree.txt”
- レジストリ ファイル
- レジストリ キーに登録されている、OneDrive のオーバーレイ アイコンの情報
- レジストリ キーに登録されている、スタート時に実行しているアプリの一覧
- レジストリ キーに登録されている Run Once アプリの一覧
- OneDrive に関連するレジストリ キー 全部
- レジストリ キーに登録されている、AutoPlayHander (自動実行) に関する情報
- OneDrive の各種ログ フォルダー
- robocopy /s “%CLIENTPATH%\logs” “%WORKINGDIRONEDRIVE%\logs”
- robocopy /s “%CLIENTPATH%\settings” “%WORKINGDIRONEDRIVE%\settings”
- robocopy /s “%CLIENTPATH%\setup\logs” “%WORKINGDIRONEDRIVE%\setup\logs
上記にある各コマンドは cmd.exe で、自分の PC で実行して確認できます。気になった人はお試しを。
最後にこれらのファイルはデスクトップ上に “OneDriveLogs_<日付>.cab” の CAB ファイルにまとめられてアップロードされて、最後に wldrxireport@microsoft.com あてに通知を送ります。
最後の OneDrive の各種ログ フォルダー以外は、特に特別な情報は集めてなくて、よくあるクライアント アプリケーションのトラブルシューティング時にエンジニアが確認しようとするログばかりですね。
でも、これらの環境ログから、既知の問題の条件と照らし合わせたりできますので、重要です。
ちなみに、OneDrive の各種ログ フォルダー内にある .etl や .odl ファイルは、MS のサポートエンジニアがデバッグ時に確認する Dump ファイルとアプリケーションのトレース ファイルです。
既知の問題に合致しない場合は、このファイルが必要になりますが、ここの解析は MS のサポートにお任せしましょう。
興味のある人がいれば、また Office 365 勉強会などで、みんなと一緒に詳細に追っていきたいと思います。
その時に機会があれば、どこまで内部の動きを見れるか (トレースファイルを解析できるか) Try してみたいと思います!