Consulenze tecnologiche e informatiche
Avvio e spegnimento di un servizio con Autotask

Avvio e spegnimento di un servizio con Autotask

Esistono situazioni per le quali è necessario fermare temporaneamente un servizio per svolgere delle operazioni, ad esempio per rendere accessibili dei file normalmente bloccati con il programma in funzionamento.

Nello specifico in questo articolo adotterò questa strategia usando Autotask Endpoint Managment (AEM) per fermare MDaemon e MailStore prima di fare una copia di backup dei loro database, che normalmente sono in uso e non copiabili integralmente.

Un’altra situazione dove usare questo approccio è quella di un servizio che sta funzionando male ed è bene riattivarlo per stabilizzarlo.

Questa procedura è già impiegata nel componente AEM – Backup con Robocopy, descritto nell’articolo Autotask al servizio del backup del computer.

 

I comandi net stop e net start

 

Per fermare e avviare un servizio usiamo le utility in riga di comando net stop e net start, si tratta di due comandi da eseguire in una console command (CMD) con privilegi di amministratore o in uno script.

Per la loro esecuzione è necessario conoscere il nome del servizio che si intende arrestare. I servizi attivi e attivabili sul computer/server sono visualizzabili digitando nella finestra esegui (RUN) il comando services.msc, che apre la schermata servizi, sul cui utilizzo non ci soffermiamo in questo articolo.

Finestra esegui di Windows

Finestra esegui di Windows

 

Schermata dei servizi di Windows

Schermata dei servizi di Windows

La sintassi del comando è semplice, per fermare MDaemon o MailStore digiteremo il comando nel seguente modo.

net stop MDaemon

net stop “Mailstore server”

Nel caso di un nome con spazi lo andremo a racchiudere tra apici.

Per l’avvio del servizio sarà sufficiente sostituire la parola stop con la parola start, avremo quindi.

net start MDaemon

net start “Mailstore server”

In mancanza dei privilegi di amministratore è possibile sospendere e riprendere il servizio, usando i comandi net pause e net continue.

 

NET STOP e NET START in Autotask

 

Il componente che abbiamo creato ha la funzione di eseguire le combinazioni dei comandi net stop e net start seguendo le indicazioni fornite con le variabili definite ed è di tipo script.

Il componente richiede due variabili di configurazione:

  • action – può assumere tre valori che identificano l’azione da eseguire. I valori sono restart per eseguire l’arresto e l’avvio del servizio; stop per lo spegnimento del servizio e start per l’avvio del sevizio.
  • service – richiede il nome del servizio da gestire, da inserire in modo completo con tanto di spazi e senza apici di delimitazione.

Al termine della sua esecuzione avremo un feedback nello stdout di esecuzione.

Nel caso di un errore di digitazione del parametro della variabile action avremo un messaggio di errore dal componente. Nel caso di esecuzione avremo invece le azioni svolte dai comandi, ad esempio per lo spegnimento e avvio del servizio MDaemon avremo i seguenti messaggi.

Il servizio MDaemon sta per essere arrestato……

Servizio MDaemon arrestato.

 

Servizio MDaemon in fase di avvio.

Avvio del servizio MDaemon riuscito.

Il componente Riavvio servizio

 

Vediamo ora in modo sintetico come lavora il componente base, di cui leggiamo il codice nel seguito.

  1. if %action%==restart (
  2. net stop “%service%”
  3. net start “%service%”
  4. goto END
  5. )
  6. if %action%==stop (
  7. net stop “%service%”
  8. goto END
  9. )
  10. if %action%==start (
  11. net start “%service%”
  12. goto END
  13. )
  14. echo Azione non specificata o errata (%action%)
  15. :END

Dalla Riga 1 alla Riga 5 eseguiamo l’azione legata al contenuto restart della variabile action, ovvero lo spegnimento del servizio indicato dalla variabile service e a seguire il suo avvio. Inviato il comando la Riga 4 ci manda alla fine della procedura.

Dalla Riga 6 alla Riga 9 eseguiamo l’azione legata al contenuto stop della variabile action, ovvero lo spegnimento del servizio indicato dalla variabile service. Inviato il comando la Riga 8 ci manda alla fine della procedura.

Dalla Riga 10 alla Riga 13 eseguiamo l’azione legata al contenuto start della variabile action, ovvero l’avvio del servizio indicato dalla variabile service. Inviato il comando la Riga 12 ci manda alla fine della procedura.

Nel caso di una digitazione errata nel campo relativo alla variabile action ci troviamo alla Riga 14, che invierà nello stdout ricevuto nella mail di report il messaggio di errore specificato.

 

Scarica il componente di base da qui.

 

La manutenzione è ora alla portata di un click!

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
  • 147Questo articolo:
  • 172849Totale letture:
  • 28Letture odierne:
  • 281Letture 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