Como rastrearia qual chamada de sistema ou executável uma ferramenta do Windows usa para excluir perfis de usuário?

Como rastrearia qual chamada de sistema ou executável uma ferramenta do Windows usa para excluir perfis de usuário?

Primeiro, algumas informações básicas.

Eu lido com muito suporte de desktop do usuário final envolvendo o Onedrive. Às vezes, se o cliente Onedrive funcionar completamente e sua biblioteca, devemos reconstruí-lo. Geralmente, isso envolve remover o local antigo da biblioteca e deixá-la sincronizar novamente. Muitas vezes, se o cliente não tiver saído ou desconectado corretamente, essas bibliotecas não permitem simplesmente excluí-las usando o File Explorer, devido a algo semelhante a este KB:https://learn.microsoft.com/en-us/sharepoint/troubleshoot/sync/delete-onedrive-synced-file-error. Infelizmente para mim e para nossa equipe de técnicos, o CHKDSK muitas vezes falha completamente na solução desse problema ou, em outros casos, não podemos usar o CHKDSK. Isso significa que temos uma biblioteca no limbo e geralmente recorremos a renomeá-la e ocultá-la, deixando o Onedrive criar uma nova biblioteca funcional.

Aqui está o mistério. Mesmo em situações em que o File Explorer falhou e a chamada recursiva do método Delete() usando o PowerShell falhou, o menu de perfil do usuário no menu do sistema ainda pode excluir completamente uma pasta de perfil de usuário contendo uma dessas bibliotecas quebradas do Onedrive.

O menu ao qual me refiro:https://i.stack.imgur.com/3jTW2.png

Gostaria de saber se existe uma maneira de descobrir qual chamada de sistema ou utilitário mágico é usado pelo Windows para excluir à força essas pastas da biblioteca do Onedrive, para que eu mesmo possa fazer isso. Esse é um problema tão comum para nós que passei um tempo significativo tentando descobrir como isso acontece. Se alguém souber mais sobre isso, adoraria ouvir sua sabedoria.

Obrigado.

Responder1

A primeira coisa que tentaria seria executar o Process Monitorhttps://learn.microsoft.com/en-us/sysinternals/downloads/procmonno sistema enquanto ele está sendo removido e, em seguida, revisando a saída, o que estava sendo executado, quais caminhos foram acessados, etc.

Observe que, se você não estiver familiarizado com o ProcMon, ele gera MUITOS dados, então recomendo que você o configure para armazenar a saída em um arquivo, NÃO na memória, por exemplo, vá para Arquivo> Arquivos de backup e defina o nome do arquivo. Além disso, você desejará interromper e limpar a captura. Antes de começar, comece a capturar logo antes de iniciar a remoção e interrompa-a novamente imediatamente depois. Caso contrário, você acabará com MUITAS informações irrelevantes. Então é só uma questão de filtrar aquelas informações que você sabe que não são relevantes, por exemplo, processos em segundo plano que acessam o sistema de arquivos, serviços que se conectam a recursos, etc., até que você tenha reduzido a quantidade de dados a um tamanho razoável onde você possa olhar através dele para ver o que exatamente aconteceu no sistema.

informação relacionada