O Gerenciador de tarefas mostra os programas em execução - como posso ver os que foram finalizados?

16

Como descubro quais programas estão sendo executados no meu computador, mesmo que tenham sido interrompidos na medida em que o Gerenciador de Tarefas não pode mostrar nada?

Não uso meu computador sozinho e às vezes suspeito.

MrSeas
fonte
4
Se o processo foi finalizado, ele não será exibido no gerenciador de tarefas, mas poderá ser exibido em um log de eventos do sistema, consulte Visualizador de Eventos.
Moab
7
Se você realmente não pode confiar nas pessoas que estão compartilhando seu computador, descobrir o que elas estavam executando provavelmente é muito pouco, é tarde demais.
Cody Gray
11
A ironia dessa pergunta é deliciosa. Você diz desconfiar do que os outros fazem no computador compartilhado que usa, mas é você quem tenta bisbilhotar o que todo mundo fez com a conta deles!
Lightness Races com Monica no dia

Respostas:

36

Como descobrir quais programas foram executados quando foram interrompidos

Por padrão, não há registros de quais programas foram executados.

No entanto, você pode habilitar os eventos de rastreamento de processos no log de eventos de segurança do Windows (veja as instruções abaixo) e essas informações estarão disponíveis para você no futuro.

Depois que os Process Tracking Events estiverem ativados, você poderá usar os seguintes comandos do Powershell para examinar os eventos:

Início do processo:

Get-EventLog Security | Where-Object {$_.EventID -eq 4688} | Format-List

Parada do processo:

Get-EventLog Security | Where-Object {$_.EventID -eq 4689} | Format-List

Os comandos acima despejam as informações do evento na tela.


Como usar eventos de rastreamento de processo no log de segurança do Windows

No Windows 2003 / XP, você obtém esses eventos simplesmente ativando a política de auditoria Process Tracking.

No Windows 7/2008 +, você precisa habilitar as subcategorias de Processo de Auditoria e, opcionalmente, as subcategorias de Processo de Auditoria, encontradas em Configuração Avançada da Política de Auditoria nos objetos de política de grupo.

Esses eventos são incrivelmente valiosos porque fornecem uma trilha de auditoria abrangente sempre que qualquer executável no sistema é iniciado como um processo . Você pode até determinar por quanto tempo o processo foi executado, vinculando o evento de criação do processo ao evento de encerramento do processo usando o ID do processo encontrado nos dois eventos. Exemplos de ambos os eventos são mostrados abaixo.

insira a descrição da imagem aqui

Origem Como usar os eventos de rastreamento de processo no log de segurança do Windows


Como habilitar a criação do processo de auditoria

  1. Execute gpedit.msc

  2. Selecione "Configurações do Windows"> "Configurações de segurança"> "Políticas locais"> "Política de auditoria"

    insira a descrição da imagem aqui

  3. Clique com o botão direito do mouse em "Audit process tracking" e selecione "Properties"

  4. Marque "Sucesso" e clique em "OK"

    insira a descrição da imagem aqui


O que é o acompanhamento do processo de auditoria

Essa configuração de segurança determina se o SO audita eventos relacionados ao processo, como criação, término, manipulação de duplicação e acesso indireto a objetos.

Se essa configuração de política for definida, o administrador poderá especificar se deve auditar apenas sucessos, apenas falhas, sucessos e falhas ou se não deve auditar esses eventos (por exemplo, nem sucessos nem falhas).

Se a auditoria de sucesso estiver ativada, uma entrada de auditoria será gerada toda vez que o sistema operacional executar uma dessas atividades relacionadas ao processo.

Se a auditoria de falhas estiver ativada, uma entrada de auditoria será gerada toda vez que o SO falhar ao executar uma dessas atividades.

Padrão: sem auditoria

Importante: Para obter mais controle sobre as políticas de auditoria, use as configurações no nó Configuração avançada da política de auditoria. Para obter mais informações sobre a Configuração avançada da diretiva de auditoria, consulte http://go.microsoft.com/fwlink/?LinkId=140969 .


E o ExecutedProgramList da Nirsoft? Posso usar isso?

ExecutedProgramList não fornece uma lista completa dos programas que foram executados.

Por exemplo, ele não lista nenhum dos programas portáteis que estou executando no meu pen drive, por exemplo, Agent, Notepad ++, GSNotes, bem como quase todos os programas Cygwin em execução desde a minha última reinicialização.

Não listará nenhum programa que não grave nada nos locais mencionados no link:

A lista de programas executados anteriormente é coletada das seguintes fontes de dados:

  • Chave do registro: HKEY_CURRENT_USER\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache
  • Chave do registro: HKEY_CURRENT_USER\Microsoft\Windows\ShellNoRoam\MUICache
  • Chave do registro: HKEY_CURRENT_USER\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted
  • Chave do registro: HKEY_CURRENT_USER\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store
  • Pasta Pré-busca do Windows (C: \ Windows \ Prefetch)

Origem ExecutedProgramList


Leitura adicional

DavidPostill
fonte
Um bom snippet do PowerShell para extrair as informações resultantes seria uma boa adição a esta excelente resposta.
Peter Mortensen
@PeterMortensen Thanks. De fato seria. Infelizmente, não conheço o PowerShell o suficiente para escrever um.
DavidPostill
A auditoria da duplicação do identificador parece incrivelmente spam.
user253751
@ PeterMortensen Eu consegui escrever um one-liner que fornece as informações;)
DavidPostill
@ user20574 Como assim?
DavidPostill
3

O Nirsoft possui um aplicativo pequeno e gratuito, ExecutedProgramList , que mostra uma lista de programas e arquivos em lotes executados no seu sistema. Observe que nem sempre é possível mostrar a hora em que um aplicativo foi iniciado pela última vez, devido a limitações inerentes ao Windows e, como o @DavidPostill mencionou, ele pode perder aplicativos portáteis.

Ele deriva suas informações do Windows, portanto, não precisa estar em execução para compilar sua lista.

DrMoishe Pippik
fonte
11
ExecutedProgramListnão fornece uma lista completa dos programas executados. Por exemplo, ele não lista qualquer um dos programas portáteis Atualmente, estou correndo do meu pendrive, por exemplo Agent, Notepad++, GSNotesbem como quase todos os Cygwinprograma que eu ter executado desde a minha última reinicialização. Portanto, não é muito abrangente .
DavidPostill
Ele não listará nenhum programa que não grave nada nos locais mencionados no link.
DavidPostill
Como funciona? Amostra continuamente os processos atualmente em execução? Ou ele é notificado pelo Windows quando os processos são iniciados e parados?
Peter Mortensen
@ PeterMortensen Veja o final da minha resposta para saber como ela funciona. E precisa de uma atualização manual.
DavidPostill
1

O histórico do processo também faz isso. É um banco de dados de processo gratuito e portátil.

É um download .zip portátil simples. Há um manual sobre como usá-lo com vídeo no site de download.

Enquanto o Histórico do Processo estiver em execução, é possível consultar processos que foram finalizados por meio de uma GUI separada.

Ele será executado em qualquer versão do Windows a partir do XP.

(Eu sou o autor deste software de código aberto.)

Histórico do Processo
fonte