Come controllare i servizi in esecuzione con il comando SC [Windows]

Come controllare i servizi in esecuzione con il comando SC [Windows] / finestre

Una delle cose che mi ritrovo a fare molto più spesso da quando mi sono immerso nell'IT è il monitoraggio e il controllo dello stato dei servizi in esecuzione nei computer in tutta l'azienda.

Esiste il modo standard di gestire i servizi che la maggior parte delle persone usa perché è ben noto e abbastanza facile. Ciò implica entrare nei controlli amministrativi o entrare nel pannello di controllo, cercare l'utilità Servizi e fare ciò che devi fare.

Se si desidera gestire i servizi in esecuzione su un altro computer o server sulla rete, è necessario andare alla gestione del computer, connettersi al computer remoto e quindi gestire tali servizi.

Non c'è niente di sbagliato nell'affrontare questo approccio - in effetti gli amministratori di sistema usano ovunque queste utility standard di Windows per gestire l'infrastruttura in tutta l'azienda. Ma cosa succederebbe se si potesse monitorare, interrompere e avviare i servizi digitando una sola riga al prompt dei comandi?

Controllo dei servizi dalla riga di comando

Potrebbe essere necessario interrompere i servizi in esecuzione su un computer client in modo da poter reinstallare alcuni software. O forse è necessario riavviare i servizi in esecuzione su un server perché alcuni software non funzionano correttamente.

Fino ad ora, probabilmente hai gestito servizi su macchine client in esecuzione sulla tua rete utilizzando l'utilità di servizi standard. Questo è lo strumento Servizi che si avvia nel Strumenti amministrativi sezione del pannello di controllo.

In Strumenti di amministrazione, puoi andare direttamente allo strumento Servizi o aprire la gestione del computer se desideri accedere a un altro computer sulla rete.

Per accedere a un computer diverso, fai clic su azione, “Connetti a un altro computer” e quindi digitare il nome della rete del computer.

Quindi puoi aprire lo strumento servizi.

Un modo più semplice per gestire i servizi

Comunque, questa è la lunga strada. Il modo più breve e veloce è usare il comando “SC”.

Probabilmente hai familiarità con il comando NET. Il comando SC è quasi identico a NET, tranne che può anche creare un servizio, oltre a monitorare, fermarsi e avviarli. Meglio di tutti, è possibile emettere il comando SC contro altri computer sulla rete (presumendo che tu abbia i diritti di amministratore).

Effettuare una query SC su un computer ti fornirà tutti i servizi installati e se sono in esecuzione. Quando si emette il comando “SC \\ ** nome-computer ** query | altro” - otterrai un risultato come mostrato qui.

Come puoi vedere, questo ti fornisce lo stato del servizio, il tipo di servizio e altri parametri. Per il bene dei nostri esercizi qui, presteremo attenzione solo allo stato dei servizi.

Se si desidera elencare solo i servizi che non sono attualmente in esecuzione (arrestati), si dovrebbe eseguire il comando, “SC \\ ** nome-computer ** query state = “non attivo” | di più”

La maggior parte del comando fa sì che l'uscita si interrompa su ciascuna schermata in modo da poter scorrere.

Come puoi vedere, questi servizi sono tutti fermi. Ora, invece di dover esaminare tutti questi servizi, se conosci il nome del servizio, puoi semplicemente impartire il comando “SC \\ ** nome-computer ** query ** nome-servizio **”

Questo riporterà con lo stato attuale di quel servizio e nient'altro. Per interrompere da remoto un servizio, tutto ciò che devi fare è emettere il comando stop, “SC \\ ** nome computer ** stop ** nome-servizio **”

L'output mostrerà uno stato di “STOP IN ATTESA”, ma dopo qualche istante, se richiedi nuovamente il servizio, vedrai che non è più in esecuzione. Puoi avviarlo emettendo lo stesso comando, ma sostituendolo “Stop” con “inizio”.

Creazione di uno script per interrogare, interrompere o avviare qualsiasi servizio

Ok, ora che hai le nozioni di base, è tempo di scrivere uno script che fermi qualsiasi servizio che desideri senza la necessità di ricordare la stringa esatta del comando. Possiamo farlo scrivendo un fidato Windows Script, come segue.

 

Quando esegui questo script, ti chiederà il nome del servizio che desideri interrompere o avviare.

E poi se vuoi interrompere o avviare il servizio.

Usando il “>> c: \ temp \ results.txt” comando, emette la fermata e avvia i risultati e gli errori in un file di testo che è possibile utilizzare per vedere se il comando ha funzionato.

Quando ho eseguito lo script sopra, l'ho seguito con una rapida query del servizio prima e dopo aver eseguito lo script.

Come puoi vedere, il servizio che ho interrotto - helpsvc - era in esecuzione. Ho eseguito Windows Script per interromperlo, interrogarlo ed è stato interrotto.

Se si desidera essere veramente fantasiosi, è possibile aggiungere una sezione allo script che ha emesso tutti i servizi attualmente installati sul PC in un file di testo che è possibile esaminare prima di decidere quale servizio interrompere o avviare. Il comando per quello sarebbe “sc \\” & strComputer & ” query> c: \ temp \ services.txt”.

Come puoi vedere, il comando SC può essere un modo abbastanza potente ed efficiente per gestire i servizi su qualsiasi computer, e se hai talento con Windows Scripting, puoi persino automatizzare il processo per rendere il tuo lavoro ancora più semplice.

Pensi che il comando SC potrebbe tornare utile per te? Che dire di uno script automatico che esegue il comando? Condividi le tue idee e pensieri nella sezione commenti qui sotto.

Immagine di credito: Shutterstock

Scopri di più su: Manutenzione del computer, programmazione, monitor di sistema.