PESQUISAR

13 de setembro de 2012

Como finalizar processos de um computador remoto através de linha de comando

Dica válida para todos os sistemas Windows

Hoje ensinarei como finalizar processos remotamente. Mas alguns podem estar se perguntando:

- Por que eu preciso aprender isto?

Ou ainda...

- Será que algum dia este conhecimento me será útil?

Para responder estas e outras perguntas, analise os seguintes cenários:

Cenários possíveis:
  • Um servidor Windows infectado por um malware que impede a execução local do gerenciador de tarefas. Para restabelecer uma funcionalidade deste servidor você precisará finalizar o processo que corresponde ao software malicioso (malware) em questão.
  • Um computador num local de difícil acesso físico e que envia vídeos institucionais de uma empresa para uma TV localizada no refeitório da corporação. Este computador é gerenciado por um player específico que impede a execução do gerenciador de tarefas do Windows.
  • Uma estação de trabalho fisicamente distante, sem UltraVNC instalado e que se encontra com um processo travado ("explorer.exe", por exemplo).
Se você analisar estes casos (e se ainda lembrar-se de outros), perceberá que será interessante conhecer uma solução para "assassinar" processos remotamente.

Antes de começar
  • Todos os comandos devem ser executados com uma conta de usuário com privilégios de Administrador do domínio ou no mínimo uma conta que tenha privilégios de administrador no computador remoto
  • O Firewall deve estar desabilitado.

Como finalizar processos remotamente através dos comandos TASKLIST e TASKKILL
 
A primeira coisa a fazer é descobrirmos quais processos estão em execução no sistema remoto. Para tal faça:

1. Clique no menu Iniciar - Pesquisar programas e arquivos (Windows 7 e Server 2008 R2) ou clique no menu Iniciar - Executar (para Windows XP e Server 2003).

2. Digite CMD no campo apropriado em seguida pressione Enter.

3. Na janela cmd.exe, digite:

tasklist espaço /s espaço nome ou IP do computador remoto

Exemplo:
tasklist /s 192.168.1.10

Pressione Enter.

4. Caso lhe seja solicitado, digite a senha de sua conta de usuário e em seguida, "Enter". Surgirá uma lista com todos os processos em execução no sistema remoto. Notem que esta lista é dividida em 05 colunas. As que interessam neste tutorial são a "Nome da imagem" e "identifi" (identificador).

Executando "tasklist"
Lista de processos do computador remoto 192.168.1.10.
Clique na imagem acima para ampliá-la.

5. Agora que já conhecemos todos os processos em execução no computador remoto, está na hora de "matar" o processo desejado. Digamos que nosso objetivo é finalizar o processo "explorer.exe". Notem que na imagem acima, o processo "explorer.exe" possui o identificador (PID) 1188. Para finalizá-lo, faça:

taskkill espaço /s espaço nome ou IP do computador remoto espaço /pid espaço número do identificador

Exemplo:
taskkill /s 192.168.1.10 /pid 1188

Onde taskkill é o comando propriamente dito; /s é o parâmetro que permite acesso remoto; 192.168.1.10 é o IP do computador remoto; /pid é o parâmetro necessário para entrar com a identificação do processo (ID process) e 1188 é o PID correspondente ao processo explorer.exe

Executando "taskkill"
Processo "explorer.exe" finalizado com êxito.
Clique na imagem acima para ampliá-la.

Outras formas de executar o comando TASKKILL.




1. Siga os passos de 1 a 3 conforme tutorial acima.

2. Para finalizar um processo no qual você já conhece seu respectivo nome, digite:

taskkill /s 192.168.1.10 /im explorer.exe

Onde taskkill é o comando propriamente dito, /s é o parâmetro que permite acesso remoto; 192.168.1.10 é o IP do computador remoto; /im é o parâmetro necessário para entrar com o nome do processo e explorer.exe é o processo que se deseja encerrar.

OBS: Quando você já conhece o nome do processo, não é preciso entrar antes com o comando tasklist

3. Para forçar o encerramento de um processo, digite o parâmetro "/f".

Exemplo:
taskkill /s 192.168.1.10 /im explorer.exe /f

4. Se você está logado com uma conta com privilégios restritos, porém, possui outra conta com privilégios administrativos, informe isto ao comando taskkill nesta forma:

taskkill espaço /s espaço nome ou IP do computador remoto espaço /im espaço processo espaço /u espaço domínio de sua rede\seu login espaço /p espaço senha espaço /f

Exemplo:
taskkill /s 192.168.1.10 /im explorer.exe /u rococó\adm /p 12345678 /f

Para ambos os comandos (tasklist e taskkill), digite "/?" para você estudar a ampla gama de opções adicionais disponíveis.

Exemplo:
tasklist /? ou taskkill /?

Espero ter contribuído com mais este conhecimento.

Este post lhe foi útil? Então não deixe de postar o seu comentário. Ele é muito importante!


Related Posts Plugin for WordPress, Blogger...

39 comentários :

  1. Muito bom. Obrigado pela dica!

    ResponderExcluir
  2. Valeu pelo comentário Carolina!
    Abraço.

    ResponderExcluir
  3. Boa essas dicas. Vlw mesmo e continuem postando coisa legais assim.

    ResponderExcluir
    Respostas
    1. Muito obrigado pelo comentário, André Silva.
      Abraço!

      Excluir
  4. Muito bom o site, gostei das dicas. tenho muita curiosidade sobre os comandos do Prompt de comando e seu funcionamento. Vou favoritar o site aqui para ficar antenado nas novidades.

    att: Eder Geovanne

    ResponderExcluir
    Respostas
    1. Olá Eder!

      Também aprecio bastante os comandos do Windows.

      Agradeço de coração suas boas palavras.

      Um abraço pra ti!

      Excluir
  5. Cara muito bom esta sua dica. Era exatamente isso que eu esta va proucurando. Obrigado !!

    ResponderExcluir
    Respostas
    1. Olá!

      Agradecido estou eu por seu comentário.

      Abraço!

      Excluir
  6. Pra quem está iniciando é de muita ajuda esse tutorial, parabéns!

    ResponderExcluir
  7. Gutemberg fiz o procedimento mais quando digito a minha senha de conta da erro de logon, o que estar acontecendo?

    Obrigado!

    ResponderExcluir
    Respostas
    1. Olá meu caro!

      Você está executando este procedimento numa rede baseada em domínio?

      Você possui uma conta de acesso com privilégios administrativos?

      Veja se você seguiu estas orientações:

      - Todos os comandos devem ser executados com uma conta de usuário com privilégios de Administrador do domínio ou no mínimo uma conta que tenha privilégios de administrador no computador remoto.
      - O Firewall deve estar desabilitado.

      Aguardo seu retorno.

      Abraço!

      Excluir
    2. Oi Gutemberg!

      Então a rede não tem domínio, se eu configurar a rede para ter um domínio ocorre alguma alteração? Acho que não certo? Firewall desabilitado e minha conta é adm sim. Só pode ser porque a rede não tem um domínio.

      Obrigado.
      Abraço!

      Excluir
    3. Entendi.

      Então você está numa rede baseada em Grupo de Trabalho.

      Neste caso você procederá da seguinte forma:

      Digamos que o computador remoto que você deseja finalizar o processo “Explorer.exe” se chama "MICRO-01".

      No computador “MICRO-01” existe uma conta de acesso local chamada “ADM” e a senha desta conta é “12345678”.
      Então a sintaxe será:

      Taskkill /s micro-01 /im explorer.exe /u micro01\adm /p 12345678 /f

      Aguardo seu retorno.

      Espero ter ajudado.

      Abraço!

      Excluir
    4. Deu erro, muito estranho porque fiz exatamente como falou.
      ERRO: FALHA DE LOGON: NOME DE USUARIO DESCONHECIDO OU SENHA INCORRETA.
      Fiz dessa forma:Taskkill /s mauro /im FIREFOX.exe /u mauro\mauro1 /p 1 /f
      sendo que o nome do computador é mauro e o usuario deixei mauro1 e senha 1, fiz algo errado?

      Abraço!

      Excluir
    5. Entendi.

      O usuário "mauro1" está associado ao grupo local "Administradores"?

      Abraços.

      Excluir
  8. Desculpe a ignorancia, mais como faço isso?

    Obrigado!

    ResponderExcluir
    Respostas
    1. Sem problemas meu caro!

      Obs. Antes de qualquer coisa, lembre-se que você também pode fazer uso da conta local "Administrador" ao invés da conta "mauro1". A conta “Administrador” evidentemente já faz parte do grupo com privilégios administrativos.

      - Clique no botão/menu Iniciar;
      - Clique com o botão direito do mouse sobre "Computador";
      - Selecione "Gerenciar";
      - Acesse “Usuários e Grupos Locais” – “Grupos”;
      - Clique 2x no grupo "Administradores";
      - Clique no botão "Adicionar" e selecione a conta "mauro1";
      - Clique em OK;
      - Efetue logoff - logon do computador.

      Espero ter ajudado.

      Excluir
    2. Entendi mais eu usar a conta administrador e o pc estiver logado na conta mauro1, vai encerrar o processo? Agora não posso testar porque está em uso a outra maquina!

      Obrigado!

      Excluir
    3. Provavelmente o processo será encerrado.

      Disponha!

      Abraço!

      Excluir
    4. Fiz o caminho inverso e deu certo, da maquina "mauro" pra minha e deu certo agora como quero fazer não da. Será algum conflito entre os nomes? Não to entendendo mais nada rssss.

      Obrigado!

      Excluir
    5. Provavelmente no computador em questão existe um firewall habilitado ou deve ser problemas com permissionamento / privilégios administrativos.

      Disponha!

      Abraço!

      Excluir
  9. É verdade, nessa maquina tem o avg instalado é ele que deve estar bloqueando, esqueci disso!

    ResponderExcluir
  10. Desativei tudo e não deu certo, muito estranho, será tem mais alguma coisa que possa estar causando isso?

    ResponderExcluir
    Respostas
    1. Olá meu caro.

      Sinceramente esgotei minhas possibilidades de resolução deste problema.

      Este incidente é estranho e inesperado. Uma análise detalhada (seja ela presencial ou remota) à estação de trabalho em questão se faz necessária.

      Peça para um técnico ou analista experiente acessar este computador para a realização de testes.

      Desculpe não poder ajudar mais.

      Abraços.

      Excluir
    2. Obrigado Gutemberg, tenho que separar umas horas ou um dia para verificar todas configurações das maquinas, enfim vc ajudou muito e deixei o site em favoritos para sempre dar uma olhada. Muito bom seu blog, parabéns!!

      Abraço e até a proxima.

      Excluir
    3. Grato estou eu por suas palavras!

      Abração!

      Excluir
  11. testei esses comandos e comigo está acontecendo

    "O servidor RPC não está disponível"

    pode me ajudar?

    ResponderExcluir
    Respostas
    1. Olá meu caro(a)!

      Verifique se o serviço "Chamada de procedimento remoto (RPC)" do computador remoto está paralisado/desativado.

      Em caso afirmativo, inicie/reative o serviço.

      Para tal faça:

      - Clique no botão Iniciar e digite: "services.msc";
      - Na janela "Serviços", clique com o botão direito do mouse sobre "Serviços (local)";
      - Clique sobre "Conectar a outro computador...";
      - Em "Outro computador", digite o IP ou o hostname do computador-destino e depois clique em OK.
      - Pronto! Agora procure na lista o serviço no qual mencionei no início e proceda conforme solicitei.

      Por vias das dúvidas, faça o mesmo em seu computador.

      Abraços!

      Excluir
  12. Muito Bom Amigo, da até para dar umas risadas... Claro que mantendo o profissionalismo!!! isso esta me ajudando a manter o foco dos usuários!!! Obrigado

    ResponderExcluir
    Respostas
    1. Olá!
      Fico feliz que tenha gostado.
      Disponha meu caro(a)!
      Abraço!

      Excluir
  13. Olá,
    Estou tentando "Matar " o processo outlook.exe de um computador da rede via DOS do server de AD. para fazer bkp da pst.. no (*.bat).

    No comando taskkill : Taskkill /s Nome_computador /im outlook.exe /u Nome_computador \administrador /p 434567 /f

    Assim que executo, da o seguinte erro:

    C:\Users\administrador\Desktop>Echo Off
    ERROR: The RPC server is unavailable.

    Log File : E:\Schema de Bkp_Pst\Logs\silmara.txt

    C:\Users\administrador\Desktop>Pause
    Press any key to continue . . .

    Consegue me ajudar, PF?

    ResponderExcluir
    Respostas
    1. Olá Thiago Lima!

      Me parece que o serviço "Alocador Remote Procedure Call (RPC)" está desativado no computador de destino.

      Tente acessar remotamente o "Services.msc" do computador - destino e inicialize o serviço mencionado, ok?

      Se desejar maiores informações, basta me acionar através de um comentário.

      Um abraço!

      Excluir
  14. Realmente muito útil, a gente que trabalha acessando e dando suporte a máquinas de usuários remotamente, é show de bola. Parabéns e obrigado

    ResponderExcluir
    Respostas
    1. Disponha meu caro Marcos!

      Grato por comentar.

      Um abraço!

      Excluir
  15. "O sistema remoto precisa estar executando o Windows 2000 ou posterior". A máquina remota é um Windows 7 em ambiente baseado em domínio. Porque acontece isso?

    ResponderExcluir
    Respostas
    1. Olá!

      Recomendo analisar todos os serviços do Windows (services.msc). Compare os serviços de uma estação que está OK com o computador problemático. Inicie/configure os serviços identificados como estando incompatíveis com os serviços da estação de trabalho que está OK.

      Espero ter ajudado e peço desculpas pela demora.

      Excluir
  16. Esse CMD é a alma de tudo... já me salvou 2x.

    Obrigado pela dica, e parabéns!!

    ResponderExcluir

Nos comentários poderão existir informações que poderão lhe ajudar a resolver seu problema.