Embora seja possível usar algo além do tasklist.exe para obter uma lista de processos em execução no sistema, me preocupa que o tasklist.exe pare de funcionar de repente. É um processo básico e fundamental no sistema e o fato de que ele parou de funcionar pode ser um sinal de corrupção de dados ou algum outro problema que só poderia piorar.
Não tentar descobrir o que causou isso, mesmo que você consiga contorná-lo usando o Powershell, WMIC ou algum outro executável, é como acobertar a luz "Check Oil" no painel do seu carro com fita isolante. Isso não significa que o problema subjacente ainda não existe.
Além disso, parece que tasklist.exe utiliza o WMI para obter as informações, portanto, se tasklist.exe não estiver funcionando, isso pode indicar um problema sistêmico com o WMI em sua máquina e, assim, usar outras ferramentas que dependem do WMI provavelmente não vai funcionar também ...
Veja como você soluciona isso. Obtenha o Process Monitor da Sysinternals. Capture eventos na máquina em funcionamento e capture eventos na máquina que não funciona. Filtrar no tasklist.exe à medida que você o executa. Agora, coloque os dois arquivos de rastreamento lado a lado e veja onde eles diferem. Quais eventos na máquina em funcionamento estão retornando SUCESSO onde os mesmos eventos na máquina que não está funcionando estão retornando NOME NÃO ENCONTRADO ou algum outro código que não seja de sucesso?
Desde a mensagem de erro que você mencionou uma classe inválida, aposto que os eventos que acontecem nas chaves de registro HKCR\CLSID\{GUID}\
, \HKLM\Software\Classes
, etc., mostrarão algumas diferenças definidas entre os dois arquivos de rastreamento.
Editar: Além disso, se você quiser testar o próprio WMI, um método que você pode usar é executar wbemtest
. Clique em Connect...
e use root\cimv2
como o namespace. Você deve poder deixar todo o resto em branco ou padrão. Em seguida, clique no botão que diz Query
e digite select * from win32_process
como sua consulta e clique em Apply
. Você deve recuperar um monte de identificadores de processo válidos e nenhuma mensagem de erro.
Boa sorte ...