Consulenze tecnologiche e informatiche
Dominare i processi di Windows con Autotask

Dominare i processi di Windows con Autotask

Parliamo di gestione dei processi di Microsoft Windows con un nuovo componente basato su powershell e di cui esiste anche una versione minimale in DOS.

Scopo di questo componente di Autotask Endpoint Managment (AEM) è quello di permettere di interrompere l’esistenza di un processo diventato invasivo e che per il suo consumo di risorse, o altre situazioni, rende impossibile intervenire dal video con mouse e tastiera.

Il componente deve essere usato con prudenza e cognizione di causa, per evitare di chiudere dei processi essenziali per il computer e non protetti dal sistema operativo. Dunque è bene non sparare nel mucchio.

L’esecuzione di questo componente può richiedere lo sblocco delle policy di esecuzione degli script in Powershell, per il quale si rimanda al articolo Autotask e Powershell un abbinamento che può non funzionare, dove è presentato un altro componente utile per abilitare e quindi disabilitare la possibilità di eseguire gli script Powershell da remoto, un componente che deve essere usato prima e dopo l’esecuzione di ogni procedura di aggiornamento da remoto attraverso Powershell.

 

Uso del componente di gestione dei processi

 

Il componente AEM – Windows process tool (WIN) dispone di due modalità di funzionamento, la prima permette di visualizzare i processi attivi e le loro informazioni di esecuzione, la seconda esegue la chiusura del processo richiesto.

Le variabili di configurazione associate al componente sono descritte nel seguito:

  • La variabile List permette di specificare l’azione da svolgere, si tratta di un parametro di tipo boleano. La sua impostazione a true permette di avere la visualizzazione dei processi attivi, usando il parametro Process è possibile limitare la visualizzazione ai soli processori con le iniziali specificate.
  • La variabile Process accetta il nome del servizio o delle sue inziali, è obbligatorio se List è impostata a false.

 

Il componente Windows process tool

 

Il componente AEM utilizza le cmdet di Powershell e nello specifico si focalizza su Get-Process, che come funzione di base restituisce la lista dei processi. Attraverso la manipolazione dei contenuti restituiti si articola il funzionamento del componente.

Analizziamo il codice di base del componente.

Recupero degli argomenti

Recupero degli argomenti

Il codice iniziale esporta dalle variabili di ambiente i parametri forniti al componente e li assegna a due variabili locali.

Controllo di coerenza dei parametri

Controllo di coerenza dei parametri

Dalla Riga 3 alla Riga 10 la procedura verifica l’esistenza degli argomenti, l’argomento Process deve esistere nel caso di richiesta di chiusura del processo. L’argomento List deve essere sempre presente e può assumere solo i valori true e false. Se le condizioni non sono rispettala la procedura si interrompe con un messaggio di errore.

Esecuzione dei comandi

Esecuzione dei comandi

Il blocco di codice dalla Riga 11 alla Riga 21 esegue le operazioni richieste, con la dichiarazione Switch si distingue tra un’azione di visualizzazione (true) dei processi ed una di chiusura (false), il parametro di riferimento è l’argomento List.

Dalla Riga 11 alla Riga 14 la procedura cerca i processi attivi aventi come iniziale i dati passati dal parametro Process, se il parametro è vuoto la presenza del asterisco esegue la cmdlet Get-Process per tutti i processi.

Dalla Riga 15 alla Riga 21 la procedura interviene sui processi per la loro chiusura.

Alla Riga 16 la procedura cerca con la cmdlet Get-Process tutti i processi attivi corrispondenti all’argomento specificato, attraverso una select estrae l’ID dei processi e ne normalizza il formato con una foreach.

Nella stringa di ricerca della Riga 16 la variabile Process è seguita da un asterisco, questo significa che la cmdelt Get-Process cerca tutti i processi che iniziano con il contenuto del argomento. La mancanza del controllo di presenza del argomento si risolve in un comando del tipo “cerca tutti i processi” e poi chiudili, come è intuibile il risultato sarebbe catastrofico.

Per concludere dalla Riga 17 alla Riga 19 la procedura verifica che sia stata trovata una ricorrenza del processo e quindi attraverso la cmdlet Stop-Process ne esegue la chiusura forzata con l’argomento Force.

Nel caso di più ricorrenze del processo nella variabile FindProces si trova un array contenente gli ID dei vari processi, la cmdlet Stop-Process processa tutto il contenuto dell’array.

Scarica qui il componente

 

Mai avuto bisogni di sboccare un computer senza spegnerlo?

 

Se sei interessato ad approfondire questi contenuti o ad avere nella tua aziende questi strumenti o i prodotti menzionati, contattaci attraverso la pagina di contatto di questo sito, o se preferisci cercami attraverso la pagina FaceBook o il mio profilo Linkedin.

Per essere informato sui nuovi articoli e contenuti puoi anche iscriverti alle nostre newsletter.

 

Categorie
Archivi
Count per Day
  • 196Questo articolo:
  • 158615Totale letture:
  • 241Letture odierne:
  • 243Letture di ieri:
  • 21 novembre 2016Dal:
Iscriviti alla Newsletter
Iscriviti alla nostra newsletter ed unisciti ai nostri iscritti.

Seleziona lista (o più di una):




Trattamento dei dati