MegaLab.it
Stampa Articolo
Aperiodico gratuito di informatica
 
20090210121354_1250791259_20090210121336_50632579_filemgmt_236.png

Creare servizi di Windows personalizzati

a cura di Palpas
21/03/2011 - articolo
Tecniche Avanzate - Scopriamo come installare nuovi servizi personalizzati o cancellare quelli esistenti a nostro piacimento.

Coloro che si occupano della salute del proprio PC, tra periodiche pulizie di registro, file temporanei e deframmentazioni, saranno capitati almeno una volta all'interno del gestore dei servizi di Windows; in particolare, la famosa utility services.msc che permette di gestire (avviare, arrestare, o cambiare modalità di avvio) i servizi del sistema mediante una comoda interfaccia grafica

Servicesmsc.png

Lo strumento Servizi di Windows è senza dubbio molto utile, ma le sue funzioni coprono solo la gestione dei servizi esistenti.

Qualora volessimo creare il nostro servizio personalizzato quindi, dobbiamo abbandonare Services.msc per utilizzare un'altra utility che Microsoft ha comunque già incluso nei propri sistemi operativi.

SC.exe e il suo funzionamento

Sc.exe è un utility a riga di comando che serve proprio a controllare i servizi di Windows, ma, oltre a garantirci le medesime possibilità già offerte da Services.msc, permette di creare nuovi servizi personalizzati o di eliminarne definitivamente dal sistema.

Per mostrare la panoramica della sua sintassi apriamo dunque il Prompt dei comandi e scriviamo sc.exe.

Sc.png

L'utility offre un discreto parco parametri, ma per i nostri scopi ci interesseremo solamente alle opzioni create e delete.

Creare un servizio

Per creare un nostro servizio personale andremo a lanciare un comando del genere: sc.exe create "NomeServizio" type= interact type= own start= auto binPath= "C:\windows\system32\calc.exe"

Nota: è necessario includere uno spazio fra l'uguale ed il valore.

Vediamo in particolare:

Comandocrea.png

Per quanto riguarda il parametro start= le opzioni possibili oltre ad auto sono demand (avvio manuale) e disabled (avvio disabilitato).

L'unico consiglio che vi do è quello di impostare sempre il tipo di servizio come interattivo.

Eliminare un servizio

Analogamente alla precedente, con l'opzione delete andremo ad eliminare un servizio dal sistema.

Per questo scopo il comando è molto semplice, basta infatti lanciare sc.exe delete "NomeServizio" per rimuovere completamente il servizio specificato.

A questo punto è bene sapere che tutti i servizi e le loro impostazioni vengono memorizzati nel registro di sistema nella chiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.

Le altre principali funzioni di SC.exe

Questa utility può essere considerata la variante a riga di comando del gestore dei servizi di Windows menzionato all'inizio.

Infatti tra le sue più comuni caratteristiche troviamo la possibilità di controllare i servizi, in particolare:

Una nota a cui bisogna prestare attenzione è il concetto di nome del servizio, infatti il programma per nome intende il "nome interno" del servizio, ossia quello visibile nella solita chiave di registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services, che non deve essere confuso con il Display Name, riferito a quello visto normalmente dall'utente.

L'altra funzione portante di SC.exe è data dal parametro config, volto a di modificare un servizio esistente.

La sintassi è di immediata comprensione: sc.exe config "NomeServizio" parametri

Dove i parametri sono gli ormai noti type= , start=  e binPath= 

Per chi non va molto d'accordo con la riga di comando o semplicemente non vuol perdere tempo imparando la sintassi dei comandi testuali, ho sviluppato un piccolo programmino che svolge la funzione di interfaccia grafica di SC.exe e REG.exe per creare ed eliminare servizi.

Screggui.PNG

Il programma è scaricabile in allegato a questo articolo.

L'utility si presenta con l'unica schermata divisa in due parti, rispettivamente per la creazione o eliminazione di un servizio.

Nel quadrante rivolto alla creazione sceglieremo le caratteristiche del servizio, il nome dell'eseguibile (che bisogna copiare nella cartella system32) e infine il nome che gli attribuiremo.

Nel quadrante dell'eliminazione invece, cliccando sul pulsante Aggiorna lista verranno elencati tutti servizi presenti, e con un semplice seleziona e clicca possiamo rimuoverli definitivamente dal sistema (prestando attenzione).

Il programma per funzionare richiede i privilegi di amministrazione, in particolar modo su Windows 7 è necessario specificarlo all'apertura:

Admin.png

MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .

Copyright 2008 MegaLab.it - Tutti i diritti sono riservati