Windows ツールがユーザー プロファイルを削除するために使用するシステム コールまたは実行可能ファイルをどのように追跡すればよいでしょうか?

Windows ツールがユーザー プロファイルを削除するために使用するシステム コールまたは実行可能ファイルをどのように追跡すればよいでしょうか?

まず、背景を説明します。

私は、Onedrive に関連するエンド ユーザーのデスクトップ サポートを数多く担当しています。Onedrive クライアントがそれ自体とそのライブラリを完全に壊してしまうと、再構築が必要になります。通常、これには古いライブラリの場所を削除し、再同期させる作業が含まれます。クライアントがサインアウトしていないか、正常に切断されていない場合、これらのライブラリは、次の KB に類似した理由により、ファイル エクスプローラーを使用して簡単に削除できないことがよくあります。https://learn.microsoft.com/en-us/sharepoint/troubleshoot/sync/delete-onedrive-synced-file-error残念ながら、私や技術者チームにとって、CHKDSK ではこの問題を完全に解決できないことが多く、また、CHKDSK を使用できない場合もあります。つまり、ライブラリが宙に浮いた状態になり、通常はライブラリの名前を変更して非表示にし、Onedrive で新しい作業用ライブラリを作成することになります。

ここに謎があります。ファイル エクスプローラーが失敗し、PowerShell を使用して Delete() メソッドを再帰的に呼び出すことに失敗した場合でも、システム メニューのユーザー プロファイル メニューでは、これらの壊れた Onedrive ライブラリの 1 つを含むユーザー プロファイル フォルダーを完全に削除できます。

私が言及しているメニューは次のとおりです。https://i.stack.imgur.com/3jTW2.png

Windows がこれらの Onedrive ライブラリ フォルダーを強制的に削除するために使用する魔法のシステム コールまたはユーティリティを調べる方法があるかどうか知りたいです。そうすれば、自分でそれを実行できます。これは私たちにとってよくある問題なので、その仕組みを理解するのにかなりの時間を費やしました。これについて詳しい方がいらっしゃいましたら、ぜひお知恵をお貸しください。

ありがとう。

答え1

まず最初に試すのはプロセスモニターを実行することですhttps://learn.microsoft.com/en-us/sysinternals/downloads/procmon削除中にシステム上で実行され、実行されていた内容やアクセスされたパスなどの出力を確認します。

ProcMon に慣れていない場合は注意してください。ProcMon は大量のデータを吐き出すので、出力をメモリではなくファイルに保存するように設定することをお勧めします。たとえば、[ファイル] > [バックアップ ファイル] に移動してファイル名を設定します。また、開始する前にキャプチャを停止してクリアし、削除を開始する直前にキャプチャを開始し、削除直後に再び停止する必要があります。そうしないと、無関係な情報が大量になってしまいます。その後は、無関係であることがわかっている情報 (ファイル システムにアクセスするバックグラウンド プロセス、リソースに接続するサービスなど) をフィルター処理して、データ量を適切なサイズに減らし、システムで実際に何が起こったのかを確認できるようにします。

関連情報