Utilizzare PowerShell per gestire le attività pianificate in Windows

Controllo regolarmente diverse posizioni sui sistemi Windows che eseguo, incluso il Task Manager di Windows per elencare i processi in esecuzione, le voci di avvio automatico e anche le attività pianificate del sistema.

Lo faccio per un paio di motivi, tra cui la sicurezza, per assicurarmi che nulla sia sfuggito e in esecuzione sul sistema che considero dannoso, spyware o indesiderato in altri modi, ma anche di eseguire il debloat del sistema disabilitando, bloccando o rimuovendo i programmi a partire da il sistema o nei tempi previsti.

Sebbene sia possibile aprire l'Utilità di pianificazione mediante la ricerca, non fornisce un'interfaccia pulita per scorrere rapidamente l'elenco delle attività.

Un programma che mi piace utilizzare per l'attività è l'eccellente Task Scheduler View di Nirsoft che, come al solito, è portatile e altamente efficiente.

PowerShell di Windows offre un'altra opzione rapida su Windows 8 e versioni successive. Il comando Get-ScheduledTask restituisce tutto o seleziona le attività pianificate del computer locale.

  1. Aprire una finestra del prompt dei comandi. Puoi farlo con un tocco sul tasto Windows, digitando Powershell.exe, facendo clic con il tasto destro del mouse sul risultato, selezionando "Esegui come amministratore" e premendo invio. Si noti che il comando get-scheduletask non richiede elevazione mentre tutti i comandi di gestione lo fanno.
  2. Digitare Get-ScheduledTask

Il comando di base elenca tutte le attività del computer locale ordinate per percorso. Include solo il percorso dell'attività, il nome dell'attività e lo stato dell'attività che possono essere sufficienti a volte.

Il nome aiuta con l'identificazione dell'attività mentre lo stato evidenzia se è abilitato o disabilitato.

Ciò che rende questo più potente, tuttavia, sono i parametri che è possibile aggiungere al comando per visualizzare ulteriori dettagli o attività di filtro.

Ecco alcuni esempi di comandi che potresti trovare utili:

  • Get-ScheduledTask -TaskName Google * restituisce tutte le attività che iniziano con Google.
  • Get-ScheduledTask -TaskPath \ restituisce tutte le attività inserite nella radice TaskPath.

Sebbene sia utile visualizzare le attività pianificate in questo modo, è anche possibile gestire le attività utilizzando PowerShell. Si noti che sono necessari diritti elevati per disabilitare o abilitare le attività su un sistema. Ciò significa che è necessario eseguire PowerShell da un prompt dei comandi con privilegi elevati.

I comandi Disable-ScheduledTask e Enable-Scheduled-Task sono stati progettati per questo. Come suggeriscono i nomi, il primo disabilita le attività selezionate mentre il secondo le abilita.

Se si eseguono direttamente i comandi, è necessario specificare esplicitamente nomi o percorsi dell'attività. Esiste una soluzione alternativa per questo, tuttavia, che è possibile utilizzare per abilitare o disabilitare più attività contemporaneamente.

I comandi che potresti trovare utili sono:

  • Disable-ScheduledTask -taskname "Adobe Flash Player Updater" disabilita l'attività Adobe Flash Player Updater.
  • Enable-ScheduledTask -taskname "Adobe Flash Player Updater" abilita l'attività Adobe Flash Player Updater.
  • Get-ScheduledTask -taskname Google * | Disable-ScheduledTask disabilita tutte le attività restituite dal comando get (a partire da Google),

Altri comandi di interesse relativi alle attività sono start-scheduletask, stop-scheduletask e unregister-scheduletask.