SC

(da Service Control)

Gestisce e visualizza i servizi di Windows.

SC [\\nome_server] [sottocomando] [servizio] [opzione [...]]

Dove:

  • \\nome_server - Specifica il server o il sistema remoto nel formato UNC del quale si vuole gestire i servizi. Di default gestisce i servizi del sistema locale.
  • sottocomando - Indica l'azione da eseguire.
  • servizio - Specifica il nome del servizio per il quale si vuole effettuare l'azione. Questo argomento è necessario per alcuni sottocomandi, mentre è facoltativo o da omettere per altri.
  • opzione [...] - Specifica una o più opzioni per il sottocomando scelto o gli argomenti per il servizio.

Al posto di sottocomando:

  • BOOT - Indica se l'ultimo avvio debba essere salvato come configurazione valida o meno. Le possibili opzioni sono OK e BAD. Questo sottocomando non richiede di specificare un servizio come parametro.
  • CONFIG - Modifica una voce del servizio specificato. Le opzioni disponibili sono le seguenti:
    • TYPE= tipo - Specifica il tipo di servizio da associare al servizio da configurare. Al posto di tipo:
      • OWN - Servizio che esegue il proprio processo (default).
      • SHARE - Servizio che esegue un processo condiviso con altri servizi.
      • INTERACT - Servizio che interagisce tramite input da utente. Questa opzione va usata insieme a TYPE= OWN o TYPE= SHARED.
      • KERNEL - Driver kernel.
      • FILESYS - Driver del filesystem.
      • REC - Driver riconosciuto dal filesystem.
      • ADAPT - Driver adattatore, associato ad esempio a tastiere, mouse e dischi.
      • USEROWN - Servizio utente (non amministratore) che esegue il proprio processo.
      • USERSHARE - Servizio utente (non amministratore) che esegue un processo condiviso con altri servizi.
      Di default è TYPE= OWN.
    • START= avvio - Specifica il tipo di avvio da associare al servizio da configurare. Al posto di avvio:
      • BOOT - Avvio dal boot loader.
      • SYSTEM - Avvio durante l'inizializzazione del kernel.
      • AUTO - Avvio automatico ad ogni riavvio del computer (anche se nessun utente si dovesse connettere).
      • DEMAND - Avvio a richiesta manuale (default).
      • DISABLED - Avvio disabilitato. Impedisce l'avvio attraverso il sottocomando SC START.
      • DELAYED-AUTO - Avvio automatico ad ogni riavvio del computer, come AUTO, ma ritardato, cioè dopo che gli altri servizi con priorità maggiore sono stati già avviati.
      Di default è START= DEMAND.
    • ERROR= {NORMAL | SEVERE | CRITICAL | IGNORE} - Specifica il grado di criticità dell'errore nel caso in cui il servizio non venga avviato con successo (normale, grave, critico, ignora). La modalità normale avvisa l'utente dell'errore e continua l'avvio, quella grave ripristina la configurazione a uno stato precedente e riavvia il sistema, quella critica è come la grave ma blocca l'avvio se il ripristino della configurazione fallisce, infine la modalità ignora fa continuare l'avvio senza avvisare l'utente. Di default è ERROR= NORMAL.
    • BINPATH= percorso - Specifica il percorso al file binario del servizio da configurare.
    • GROUP= nomegruppo - Specifica il gruppo da associare al servizio da configurare (la lista completa si trova nel registro di sistema al percorso HKLM\System\CurrentControlSet\Control\ServiceGroupOrder. Il valore di default è GROUP= null.
    • TAG= {YES | NO} - Specifica se ottenere il tag ID per i driver all'avvio del bootloader o del sistema (START= BOOT o START= SYSTEM).
    • DEPEND= servizio1[/servizio2[/...]] - Specifica le dipendenze per il servizio da configurare, ovvero i servizi da cui esso dipende, separati da una barra /.
    • OBJ= nome - Specifica il nome dell'account utente da associare al servizio o il nome dell'oggetto driver Windows. Di default è OBJ= LOCALSYSTEM.
    • DISPLAYNAME= nome - Specifica un nome descrittivo e facilmente leggibile per il servizio da configurare.
    • PASSWORD= password - Specifica la password per l'account utente specificato. Quest'opzione non è necessaria se viene usato OBJ= LOCALSYSTEM.
  • CONTINUE - Riprende il servizio specificato, se era stato precedentemente messo in pausa. Vedi SC PAUSE.
  • CONTROL - Invia un codice di controllo al servizio specificato. Opzioni disponibili sono PARAMCHANGE, NETBINDADD, NETBINDREMOVE, NETBINDENABLE, NETBINDDISABLE o un codice di controllo definito dall'utente.
  • CREATE - Crea un servizio, aggiungendolo nel registro di sistema. Le opzioni disponibili sono le stesse del sottocomando SC CONFIG. Notare che l'opzione BINPATH= percorso è obbligatoria.
  • DELETE - Elimina un servizio, rimuovendolo dal registro di sistema.
  • DESCRIPTION - Imposta o modifica la descrizione del servizio specificato. La descrizione va inserita come opzione del sottocomando.
  • ENUMDEPEND - Visualizza i servizi che dipendono dal servizio specificato. È possibile specificare come opzione anche la dimensione del buffer richiesta per la visualizzazione.
  • FAILURE - Modifica le azioni eseguite dal servizio specificato nel caso in cui venga a riscontrarsi un errore. Le opzioni disponibili sono le seguenti:
    • RESET= tempo - Specifica la quantità di tempo, in secondi, nel quale non si verificano errori dopo il quale il conteggio degli errori viene reimpostato a 0. Per impostare un tempo indefinito, usare RESET= INFINITE. Questa opzione va utilizzata insieme a ACTIONS=.
    • REBOOT= msg - Specifica il messaggio da visualizzare prima del riavvio in caso di errore.
    • COMMAND= comando - Specifica un comando DOS da eseguire in caso di errore.
    • ACTIONS= azione/rit[/azione2/rit2[/...]] - Specifica un azione da eseguire in caso di errore seguita da un ritardo in millisecondi associato a quell'azione. Le azioni disponibili sono RUN, RESTART e REBOOT. Azioni e ritardi sono separati dalla barra /. Questa opzione va utilizzata insieme a RESET=.
  • FAILUREFLAG - Imposta o cambia la flag delle azioni da eseguire in caso di errore (vedi il sottocomando SC FAILURE). Se è impostata a 0, le azioni vengono attivate solamente se il servizio viene interrotto con uno stato diverso da SERVICE_STOPPED. Se è impostata a 1, le azioni vengono attivate anche se lo stato di uscita è SERVICE_STOPPED se l'applicazione associata al servizio restituisce un codice diverso da 0.
  • GETDISPLAYNAME - Visualizza il nome descrittivo (display name) del servizio specificato. È possibile specificare come opzione anche la dimensione del buffer richiesta per la visualizzazione.
  • GETKEYNAME - Visualizza il nome chiave (key name) di un servizio a partire dal suo nome descrittivo (display name). È possibile specificare come opzione anche la dimensione del buffer richiesta per la visualizzazione.
  • INTERROGATE - Interroga il servizio specificato (richiesta di controllo INTERROGATE).
  • LOCK - Blocca il database del servizio specificato.
  • MANAGEDACCOUNT - Indica se l'account nel quale eseguire il servizio utilizza una password gestita. Impostare a TRUE se si vuole richiedere la password all'avvio del servizio, o a FALSE se si vuole usare la password configurata (tramite SC CONFIG).
  • PAUSE - Mette in pausa il servizio specificato. Usa SC CONTINUE per riprendere il servizio.
  • PREFERREDNODE - Imposta o cambia il nodo NUMA preferito per un servizio specificato, inserendo il numero nodo come opzione. Inserire -1 per eliminare l'impostazione. Questo sottocomando è valido solo in modalità 32-bit (Win32) e per i servizi con processo proprio (configurati ad esempio con SC CONFIG TYPE= OWN).
  • PRIVS - Imposta o cambia i privilegi del servizio specificato. I privilegi devono essere specificati come opzioni separate da una barra /. Esempi di privilegi sono SEBACKUPPRIVILEGE e SERESTOREPRIVILEGE.
  • QC - Visualizza le informazioni di configurazione del servizio specificato (vedi SC CONFIG). È possibile specificare come opzione anche la dimensione del buffer richiesta per la visualizzazione.
  • QDESCRIPTION - Visualizza la descrizione del servizio specificato (vedi SC DESCRIPTION). È possibile specificare come opzione anche la dimensione del buffer richiesta per la visualizzazione.
  • QFAILURE - Visualizza le azioni eseguite dal servizio specificato nel caso in cui venga a riscontrarsi un errore (vedi SC FAILURE). È possibile specificare come opzione anche la dimensione del buffer richiesta per la visualizzazione.
  • QFAILUREFLAG - Visualizza la flag delle azioni da eseguire in caso di errore (vedi SC FAILUREFLAG). È possibile specificare come opzione anche la dimensione del buffer richiesta per la visualizzazione.
  • QMANAGEDACCOUNT - Visualizza se l'account nel quale eseguire il servizio utilizza una password gestita (vedi SC MANAGEDACCOUNT). È possibile specificare come opzione anche la dimensione del buffer richiesta per la visualizzazione.
  • QPREFERREDNODE - Visualizza il nodo NUMA preferito per il servizio specificato (vedi SC PREFERREDNODE). È possibile specificare come opzione anche la dimensione del buffer richiesta per la visualizzazione.
  • QPRIVS - Visualizza i privilegi del servizio specificato (vedi SC PRIVS). È possibile specificare come opzione anche la dimensione del buffer richiesta per la visualizzazione.
  • QPROTECTION - Visualizza se il servizio può essere avviato in un processo protetto. Notare che questa impostazione non può essere modificata.
  • QSIDTYPE - Visualizza il tipo di SID (ID di sicurezza) di un servizio specificato (vedi SC SIDTYPE). È possibile specificare come opzione anche la dimensione del buffer richiesta per la visualizzazione.
  • QTRIGGERINFO - Visualizza i parametri di trigger del servizio specificato (vedi SC TRIGGERINFO). È possibile specificare come opzione anche la dimensione del buffer richiesta per la visualizzazione.
  • QUERY - Visualizza lo stato di un servizio o driver (se specificato), o mostra l'elenco degli stati di tutti i servizi attivi (se non vengono specificate opzioni). Se non viene specificato il servizio o driver, si possono applicare le seguenti opzioni:
    • TYPE= {DRIVER | SERVICE | USERSERVICE | ALL} - Specifica il tipo di servizi da elencare. Di default è TYPE= SERVICE.
    • STATE= {INACTIVE | ACTIVE | ALL} - Specifica lo stato di servizi da elencare (inattivi, attivi o tutti). Di default è STATE= ACTIVE (attivi).
    • BUFSIZE= dim - Specifica la dimensione in byte del buffer di enumerazione. Di default è BUFSIZE= 1024 o BUFSIZE= 4096, in base alla versione di Windows.
    • RI= indice - Specifica l'indice dal quale iniziare o riprendere l'elenco dei servizi. Da notare che l'indice parte da 0. Di default questo parametro è impostato a RI= 0.
    • GROUP= nomegruppo - Specifica il gruppo dei servizi che si vuole elencare. Di default elenca tutti i gruppi.
  • QUERYEX - Visualizza in maniera estesa lo stato di un servizio o driver (se specificato), o mostra l'elenco degli stati di tutti i servizi o driver (se non vengono specificate opzioni). Le opzioni disponibili sono le stesse del sottocomando SC QUERY.
  • QUERYLOCK - Visualizza se il database del servizio specificato è bloccato o meno (vedi SC LOCK).
  • QUSERSERVICE - Visualizza un'istanza di servizio utente nella stessa sessione creata dal modello servizio utente specificato.
  • SDSET - Imposta il descrittore di sicurezza. Inserire come opzione il descrittore di sicurezza (SD) in formato SDDL.
  • SDSHOW - Visualizza il descrittore di sicurezza in formato SDDL. Inserire come opzioni i diritti di visualizzazione.
  • SHOWSID - Visualizza la stringa associata al SID del servizio specificato. Da notare che il SID dipende solo dal nome del servizio. È infatti possibile ottenere il SID per un servizio inesistente.
  • SIDTYPE - Imposta o cambia il tipo di SID (ID di sicurezza) di un servizio. Le opzioni valide sono:
    • NONE - Il SID del servizio non verrà aggiunto al token del processo del servizio.
    • UNRESTRICTED - Il SID del servizio viene aggiunto al token del processo al successivo avvio del servizio. Impostazione valida per i servizi in modalità 32-bit (Win32).
    • RESTRICED - Come per UNRESTRICTED, ma il SID viene anche aggiunto all'elenco di SID con restrizioni. In caso di processo condiviso, tutti i servizi associati allo stesso processo devono avere lo stesso SID.
  • START - Avvia il servizio specificato, indicandone eventuali argomenti come opzioni.
  • STOP - Interrompe il servizio specificato. È possibile specificare il motivo dell'interruzione nel formato numerico flag:motivo_principale:motivo_secondario oltre ad un commento di massimo 127 caratteri.
    Al posto di flag:
    • 1 - Non pianificato.
    • 2 - Personalizzato.
    • 4 - Pianificato.
    Al posto di motivo_principale:
    • 1 - Altro.
    • 2 - Hardware.
    • 3 - Sistema operativo.
    • 4 - Software.
    • 5 - Applicazione.
    • 64-255 - Personalizzato.
    Al posto di motivo_secondario:
    • 1 - Altro.
    • 2 - Manutenzione.
    • 3 - Installazione.
    • 4 - Aggiornamento.
    • 5 - Riconfigurazione.
    • 6 - Blocco.
    • 7 - Instabilità.
    • 8 - Disco.
    • 9 - Scheda di rete.
    • 10 - Ambiente.
    • 11 - Driver hardware.
    • 13 - Service pack.
    • 14 - Aggiornamento software.
    • 15 - Aggiornamento hardware.
    • 16 - Sicurezza.
    • 17 - Connettività di rete.
    • 18 - WMI (strumentazione gestione di Windows, vedi WMICWMIC).
    • 19 - Disinstallazione service pack.
    • 20 - Disinstallazione aggiornamento software.
    • 22 - Disinstallazione aggiornamento sicurezza.
    • 23 - MMC (Microsoft Management Console).
    • 256-65535 - Personalizzato.
  • TRIGGERINFO - Modifica i parametri di trigger del servizio specificato (digita SC TRIGGERINFO per maggiori informazioni).

Per tutte le opzioni che presentano il segno dell'uguale, è necessario inserire uno spazio tra tale segno e il valore che si vuole specificare.

Esempi:

1. Crea il servizio selfservice con nome descrittivo Self service che esegue il programma C:\service\self.exe in maniera automatica all'avvio del computer:

sc create selfservice binpath= "C:\service\self.exe" displayname= "Self service" start= auto

 

2. Avvia il servizio selfservice:

sc start selfservice

 

3. Interrompe il servizio selfservice indicando come flag non pianificata, motivo principale personalizzato (64) e motivo secondario personalizzato (256), inserendo il commento Il vino è finito:

sc stop selfservice 1:64:256 Il vino è finito

 

4. Elimina il servizio selfservice:

sc delete selfservice

 

5. Visualizza in maniera estesa tutti i servizi attivi che non fanno parte di un gruppo:

sc queryex group= ""

Commenti