sc
sc (service control) gestisce i servizi di Windows. Più completo di net start e net stop. Per modificare servizi serve un prompt amministratore.
In PowerShell, sc è un alias di Set-Content: scrivi sc.exe per usare lo strumento.
Stato dei servizi
sc query
sc query spooler
sc query state= all
sc query type= service state= inactive
sc queryex spooler
Dopo type=, state= e simili serve uno spazio prima del valore.
Gli stati più comuni: RUNNING, STOPPED, START_PENDING, STOP_PENDING, PAUSED.
sc queryex mostra anche il PID del processo.
Avviare e fermare
sc start spooler
sc stop spooler
sc pause spooler
sc continue spooler
Tipo di avvio
sc config spooler start= auto
sc config spooler start= demand
sc config spooler start= disabled
sc config spooler start= delayed-auto
| Valore | Significato |
|---|---|
auto | Automatico |
delayed-auto | Automatico (ritardato) |
demand | Manuale |
disabled | Disabilitato |
Lo spazio dopo start= è obbligatorio.
Dettagli di configurazione
sc qc spooler
sc qdescription spooler
sc qfailure spooler
sc qc mostra l'eseguibile, l'account di esecuzione e le dipendenze.
Recupero automatico dopo errori
sc failure spooler reset= 86400 actions= restart/5000/restart/5000/restart/10000
Creare ed eliminare un servizio
sc create MioServizio binPath= "C:\App\servizio.exe" start= auto
sc description MioServizio "Descrizione del servizio"
sc delete MioServizio
L'eseguibile deve essere un vero servizio Windows. Per eseguire script o programmi normali come servizio si usa uno strumento esterno (come NSSM) o un'attività pianificata.
Servizi remoti
sc \\server query spooler
sc \\server stop spooler
Nomi: nome servizio e nome visualizzato
sc usa il nome del servizio (es. Spooler), non il nome visualizzato ("Spooler di stampa"). Per trovare la corrispondenza:
sc query state= all | findstr /i "stampa"
oppure in PowerShell:
Get-Service | Where-Object DisplayName -like "*stampa*"