Come elencare tutti i servizi Windows utilizzando PowerShell o la riga di comando


Le applicazioni in esecuzione visualizzate sullo schermo sono solo una frazione di ciò che accade in Windows. Dalla gestione dei driver del dispositivo alla garanzia della sicurezza, una serie di processi in background mantengono un PC Windows funzionante.

Per qualsiasi amministratore di sistema che supervisiona più computer, è importante essere in grado di visualizzare lo stato di questi servizi critici. L'approccio del Task Manager è troppo lento per questo e non puoi automatizzarlo con uno script.

La soluzione? Strumenti da riga di comando. Utilizzando Prompt dei comandi o PowerShell, puoi ottenere rapidamente una lettura dei servizi operativi Microsoft in esecuzione su un sistema, aiutandoti a diagnosticare rapidamente eventuali problemi.

Elenco dei servizi Windows nel prompt dei comandi

Sebbene non sia flessibile o potente come Windows PowerShell, il prompt dei comandi è comunque uno strumento eccellente per gli amministratori di sistema. Puoi utilizzare il comando queryex per ottenere lo stato dei servizi attivi e disattivati ​​e poi utilizzare il comando taskkill per terminare i processi fastidiosi.

  1. Per utilizzare il comando queryex, esegui il prompt dei comandi come amministratore. Puoi trovare l'app cercando cmd nel menu Start.
    1. Esistono molti modi per utilizzare il comando sc queryex. Tipo e Stato sono i due parametri più comunemente utilizzati. Ad esempio, inserisci il seguente comando per visualizzare tutti i processi Windows:
    2. sc queryex type=service state=all

      1. La visualizzazione predefinita può essere un po' travolgente. Puoi visualizzare solo i nomi dei processi per rendere l'elenco più semplice da analizzare:
      2. sc queryex type=service state=all | trova /i “SERVICE_NAME:”

        1. Per impostazione predefinita, il comando elenca tutti i processi attivi. Per cercare quelli inattivi, modifica il parametro di stato:
        2. sc queryex type=service state=inattivo

          1. Puoi anche interrogare lo stato di un processo specifico tramite il suo nome. Ciò è incredibilmente utile per gli amministratori di sistema, poiché possono impostare file batch per controllare più processi contemporaneamente. Ecco un esempio:
          2. sc query DeviceInstall

            Elenco dei servizi Windows in PowerShell

            .

            PowerShell è pensata per essere una shell della riga di comando dedicata per Windows moderno. In quanto tale, fornisce accesso praticamente a tutti i componenti del sistema operativo tramite comandi e i servizi Windows non fanno eccezione.

            Il vantaggio di PowerShell è che puoi automatizzarlo facilmente. Tutti i comandi di PowerShell possono essere compilati in script complessi, consentendoti di impostare attività di amministrazione del sistema su più PC senza problemi.

            1. Inizia aprendo PowerShell. Puoi cercarlo nel menu Start; assicurati solo di eseguire un'istanza con privilegi elevati (ovvero come amministratore).
              1. Il comando più semplice per elencare i servizi Windows su PowerShell è Get-Service . Mostra tutti i servizi sul tuo computer, insieme al loro stato e nomi. L'unico problema è che l'elenco dei servizi può essere piuttosto lungo.
                1. Quando si utilizza Get-Service , è preferibile esportare l'elenco in un file di testo. Puoi farlo usando pipe, in questo modo:
                2. Ottieni servizio | File in uscita “C:\logs\All_Services.txt”

                  1. Per cercare lo stato di un servizio specifico, segui il comando Get-Service con il nome del servizio. Puoi richiedere lo stato di più processi separando i loro nomi con virgole.
                  2. Get-Service CryptSvc, COMSysApp

                      È inoltre possibile utilizzare
                    1. Pipes per combinare il cmdlet Get-Service con la funzione Where-Object e filtrare i risultati in base allo stato. Il seguente comando illustra ciò ottenendo tutti i servizi in esecuzione:
                    2. Ottieni servizio | Where-Object {$_.Status -EQ “Running”}

                      Verifica delle dipendenze del servizio

                      Qualsiasi processo complesso è suddiviso in più servizi interdipendenti. Questo è il motivo per cui spesso non è sufficiente ottenere semplicemente lo stato di un particolare servizio. È inoltre necessario verificare lo stato dei servizi da cui dipende.

                      1. Per visualizzare i servizi richiesti da un particolare servizio, utilizzare il flag -RequiredServices con il cmdlet Get-Service . Ecco un esempio:
                      2. .

                        Get-Service -Name CryptSvc –RequiredServices

                        1. Allo stesso modo, per ottenere un elenco di servizi che dipendono da un servizio specifico, sfrutta il flag -DependentServices .
                        2. Get-Service -Nome CryptSvc -DependentServices

                          Questi due flag sono cruciali nella scrittura di script per avviare o arrestare automaticamente i servizi Windows, poiché ti consentono di tenere traccia di tutti i servizi connessi al servizio interessato.

                          Elenco dei servizi Windows sui computer remoti

                          Il metodo PowerShell non è limitato ai computer locali. È possibile utilizzare il cmdlet Get-Service con la stessa sintassi descritta sopra per interrogare anche i processi dei PC remoti. Basta aggiungere il flag -ComputerName alla fine per specificare da quale computer remoto recuperare le informazioni.

                          Ecco un esempio:

                          get-service CryptSvc -ComputerName Workstation7

                          Gestione dei servizi Windows in PowerShell

                          Ottenere lo stato dei servizi non è l'unica cosa che puoi fare in Windows PowerShell. Essendo un ambiente di scripting completo, fornisce alternative di script a tutte le opzioni della GUI.

                          I cmdlet di Powershell possono arrestare, avviare, riavviare o persino modificare i servizi. Insieme ai comandi Get-Service automatizzati, è possibile scrivere script PowerShell per automatizzare completamente le attività quotidiane di gestione del sistema.

                          1. Oltre a interrogare lo stato dei servizi, puoi anche utilizzare PowerShell per gestirli. L'avvio o l'arresto dei servizi può essere eseguito con un singolo comando, richiedendo solo il nome del servizio. Ad esempio, ecco come puoi interrompere un servizio:
                          2. Stop-Service -Name Spooler

                            1. L'avvio di un servizio avviene in modo simile:
                            2. Start-Service -Name Spooler

                              1. Se un servizio non funziona correttamente, puoi anche scegliere di riavviarlo:
                              2. Riavvia-Servizio -Name Spooler

                                1. Esiste anche il cmdlet Set-Service che può essere utilizzato per modificare le proprietà di un servizio. Qui disabilitiamo l'avvio automatico del servizio Print Spooler:
                                2. .

                                  Imposta servizio "Spooler" -StartupType disabilitato

                                  Qual ​​è il modo migliore per elencare i servizi Windows?

                                  Che tu stia utilizzando Windows 10 o Windows Server, poter visualizzare un elenco di tutti i servizi Windows può essere utile. Puoi diagnosticare problemi con funzioni critiche del sistema o interrompere i servizi Microsoft non necessari per migliorare le prestazioni.

                                  A questo scopo, PowerShell è l'opzione migliore. Sebbene sia possibile ottenere un elenco di servizi nel prompt dei comandi, la funzionalità aggiuntiva fornita da PowerShell è più utile.

                                  Puoi utilizzare i cmdlet di PowerShell per ottenere lo stato del servizio dei processi Windows, filtrandoli in base al loro stato o ad altri parametri. È anche facile determinare i servizi dipendenti e avviarli o interromperli secondo necessità.

                                  .

                                  Post correlati:


                                  26.06.2022