I servizi sono una delle parti più importanti dei sistemi operativi. Ci sono diversi strumenti e comandi per elencare questi servizi. Powershell fornisce Get-Service commandlet per elencare questi servizi e filtrarli secondo il filtro fornito.
Iniziamo con un semplice caso d’uso in cui elencheremo tutti i servizi senza fornire opzioni al comando Get-Service. Questo elencherà i servizi attualmente esistenti con lo stato di esecuzione o di arresto.
PS> Get-Service
Come possiamo vedere dallo screenshot i servizi sono ordinati per nome per impostazione predefinita. Le seguenti informazioni sono fornite di default sui servizi elencati.
-
Statusmostrerà se il servizio èRunningoStopped -
Namemostrerà il nome reale e breve del servizio che è usato dai comandi. -
Display Namemostrerà il nome esteso e informativo del servizio che è più umano.
List All Service On Remote Computer or System
Come Microsoft ha fornito accesso remoto e gestione dei sistemi remoti con powreshell possiamo usare il comando Get-Service per elencare i servizi sui sistemi remoti. Forniremo il -computername del sistema remoto. Questo può essere un nome DNS che può essere risolto o un indirizzo IP a cui possiamo accedere.
PS > Get-Service -computername DESKTOP-HQVAMA3
List Services with Specified Name
I sistemi operativi Windows hanno molti servizi che riempiono facilmente il terminale. Oppure potremmo aver bisogno di elencare il nome di un servizio specifico fornendo il suo nome o qualche parte del suo nome. Forniremo semplicemente il nome dopo il comando Get-Service. Possiamo anche usare * glob dove sarà specificata solo una parte del nome del servizio. In questo esempio cercheremo di elencare il servizio WinDefend fornendo WinDef* come nome del servizio.
PS > Get-Service WinDef*
Lista solo servizi attualmente in esecuzione
Ci sono due stati di servizio principali in Windows. Running o Stopped. Potremmo aver bisogno di elencare i servizi in base al loro stato. Possiamo usare il parametro oggetto Status come sotto che elencherà solo i servizi in esecuzione.
PS> Get-Service | Where-Object {$_.Status -eq "Running"}
Lista servizi con servizio dipendente
I servizi sono importanti e possono essere collegati e dipendenti tra loro. Prima di fermarli potremmo aver bisogno di elencare i servizi dipendenti dal servizio dato. Possiamo usare le opzioni -RequiredServices per elencare le dipendenze dei servizi.
PS> Get-Service "WinDefend" -RequiredServices
List Sorted By Status (Stopped/Running)
Potremmo aver bisogno di controllare la lista dei servizi secondo il loro stato Running e Stopped. Possiamo ordinarli usandoSort-Object come sotto.
PS> Get-Service | Sort-Object status
Scrivere la lista dei servizi in un file
Potremmo aver bisogno di esaminare la lista dei servizi in seguito o semplicemente salvarli in un file. Possiamo usare il comando Out-File che scriverà l’elenco dei servizi nel file che vogliamo. In questo esempio scriveremo in un file chiamato Services.txt
PS> Get-Service | Out-File "C:\Users\İsmail Baydan\Desktop\Services.txt"
.