Use o PowerShell para gerenciar tarefas agendadas no Windows
- Categoria: Janelas
Verifico regularmente vários locais nos sistemas Windows que executo, incluindo o Gerenciador de Tarefas do Windows para listar os processos em execução, as entradas de inicialização automática e também as tarefas agendadas do sistema.
Eu faço isso por alguns motivos, incluindo segurança, para ter certeza de que nada escapou e está sendo executado no sistema que considero malicioso, spyware ou indesejado de outras maneiras, mas também para desbloquear o sistema desativando, bloqueando ou removendo programas desde o início sistema ou dentro do cronograma.
Embora seja possível abrir o Agendador de tarefas usando a pesquisa, ele não fornece uma interface limpa para percorrer a lista de tarefas rapidamente.
Um programa que gosto de usar para a tarefa é Excelente Visualização do Agendador de Tarefas da Nirsoft que, como sempre, é portátil e altamente eficiente.
O PowerShell do Windows oferece outra opção rápida no Windows 8 e posterior. O comando Get-ScheduledTask retorna todas ou seleciona tarefas agendadas do computador local.
- Abra uma janela de prompt de comando. Você pode fazer isso com um toque na tecla Windows, digitando Powershell.exe, clicando com o botão direito do mouse no resultado, selecionando 'executar como administrador' e pressionando Enter. Observe que o comando get-scheduletask não requer elevação, enquanto todos os comandos de gerenciamento exigem.
- Digite Get-ScheduledTask
O comando básico lista todas as tarefas do computador local classificadas por caminho. Inclui apenas o caminho da tarefa, nome da tarefa e estado da tarefa que pode ser suficiente às vezes.
O nome ajuda na identificação da tarefa enquanto o estado destaca se ela está habilitada ou desabilitada.
O que torna isso mais poderoso, entretanto, são os parâmetros que você pode adicionar ao comando para exibir detalhes adicionais ou tarefas de filtro.
Aqui estão alguns exemplos de comandos que podem ser úteis:
- Get-ScheduledTask -TaskName Google * retorna todas as tarefas que começam com o Google.
- Get-ScheduledTask -TaskPath retorna todas as tarefas colocadas na raiz do TaskPath.
Embora seja útil exibir as tarefas agendadas dessa forma, você também pode gerenciar tarefas usando o PowerShell. Observe que você precisa de direitos elevados para executar tarefas de desabilitação ou habilitação em um sistema. Isso significa que você precisa executar o PowerShell em um prompt de comando elevado.
Os comandos Disable-ScheduledTask e Enable-Scheduled-Task foram projetados para isso. Como os nomes sugerem, o primeiro desativa as tarefas que você seleciona, enquanto o segundo as habilita.
Se você executar os comandos diretamente, precisará especificar os nomes ou caminhos das tarefas explicitamente. No entanto, há uma solução alternativa para isso que você pode usar para habilitar ou desabilitar várias tarefas de uma vez.
Os comandos que você pode achar úteis são:
- Disable-ScheduledTask -taskname 'Adobe Flash Player Updater' desativa a tarefa Adobe Flash Player Updater.
- Enable-ScheduledTask -taskname 'Adobe Flash Player Updater' ativa a tarefa Adobe Flash Player Updater.
- Get-ScheduledTask -taskname Google * | Disable-ScheduledTask desativa todas as tarefas que o comando get retorna (começando com Google),
Outros comandos de interesse relacionados à tarefa são início agendado tarefa , parar-tarefa agendada e cancelar registro-tarefa agendada .