Como listar todos os serviços do Windows usando PowerShell ou linha de comando


Os aplicativos em execução que você vê na tela são uma fração do que acontece no Windows. Desde o gerenciamento de drivers de dispositivos até a garantia da segurança, vários processos em segundo plano mantêm um PC com Windows funcionando.

Para qualquer administrador de sistema que supervisione vários computadores, é importante poder visualizar o status desses serviços críticos. A abordagem do Gerenciador de Tarefas é muito lenta para isso e você não pode automatizá-la com um script.

A solução? Ferramentas de linha de comando. Usando Prompt de comando ou PowerShell, você pode obter rapidamente uma leitura dos serviços operacionais da Microsoft em execução em um sistema, ajudando a diagnosticar quaisquer problemas rapidamente.

Listando os serviços do Windows no prompt de comando

Embora não seja tão flexível ou poderoso quanto o Windows PowerShell, o o prompt de comando ainda é uma ferramenta excelente para administradores de sistema. Você pode usar o comando queryex para obter o status dos serviços ativos e desativados e, em seguida, use o comando taskkill para encerrar processos incômodos.

  1. Para usar o comando queryex, execute o prompt de comando como administrador. Você pode encontrar o aplicativo pesquisando cmd no menu iniciar.
    1. Existem muitas maneiras de usar o comando sc queryex. Tipo e Estado são os dois parâmetros mais comumente usados. Por exemplo, digite o seguinte comando para visualizar todos os processos do Windows:
    2. sc queryex type=service state=all

      1. A visualização padrão pode ser um pouco complicada. Você pode exibir apenas os nomes dos processos para facilitar a análise da lista:
      2. sc queryex type=service state=all | encontre /i “SERVICE_NAME:”

        1. Por padrão, o comando lista todos os processos ativos. Para procurar os inativos, modifique o parâmetro state:
        2. sc queryex type=service state=inactive

          1. Você também pode consultar o status de um processo específico pelo nome. Isso é extremamente útil para administradores de sistema, pois eles podem configurar arquivos em lote para verificar vários processos de uma só vez. Aqui está um exemplo:
          2. sc query DeviceInstall

            Listando serviços do Windows no PowerShell

            .

            PowerShell pretende ser um shell de linha de comando dedicado para o Windows moderno. Como tal, fornece acesso a praticamente todos os componentes do sistema operacional por meio de comandos, e os serviços do Windows não são exceção.

            A vantagem do PowerShell é que você pode automatizá-lo facilmente. Todos os comandos do PowerShell podem ser compilados em scripts complexos, permitindo configurar tarefas de administração do sistema em vários PCs sem complicações.

            1. Comece abrindo o PowerShell. Você pode procurá-lo no menu Iniciar; apenas certifique-se de executar uma instância elevada (ou seja, como administrador).
              1. O comando mais simples para listar os serviços do Windows no PowerShell é Get-Service . Ele mostra todos os serviços do seu computador, juntamente com seus status e nomes. O único problema é que a lista de serviços pode ser bastante longa.
                1. Ao usar Get-Service , é melhor exportar a lista para um arquivo de texto. Você pode fazer isso usando pipes, como este:
                2. Obter serviço | Arquivo de saída “C:\logs\All_Services.txt”

                  1. Para consultar o status de um serviço específico, siga o comando Get-Service com o nome do serviço. Você pode solicitar o status de vários processos separando seus nomes por vírgulas.
                  2. Get-Service CryptSvc, COMSysApp

                    1. Pipes também podem ser usados ​​para combinar o cmdlet Get-Service com a função Where-Object e filtrar os resultados por status. O comando a seguir ilustra isso obtendo todos os serviços em execução:
                    2. Obter serviço | Where-Object {$_.Status -EQ “Running”}

                      Verificando dependências de serviço

                      Qualquer processo complexo é dividido em vários serviços interdependentes. É por isso que muitas vezes simplesmente obter o status de um serviço específico não é suficiente. Você também precisa verificar o status dos serviços dos quais o serviço depende.

                      1. Para visualizar os serviços exigidos por um serviço específico, use o sinalizador -RequiredServices com o cmdlet Get-Service . Aqui está um exemplo:
                      2. .

                        Get-Service -Name CryptSvc –RequiredServices

                        1. Da mesma forma, para obter uma lista de serviços que dependem de um serviço específico, aproveite o sinalizador -DependentServices .
                        2. Get-Service -Name CryptSvc -DependentServices

                          Esses dois sinalizadores são cruciais para escrever scripts para iniciar ou interromper automaticamente os serviços do Windows, pois oferecem uma maneira de acompanhar todos os serviços conectados ao serviço afetado.

                          Listando serviços do Windows em computadores remotos

                          O método PowerShell não está limitado a computadores locais. Você também pode usar o cmdlet Get-Service com a mesma sintaxe descrita acima para consultar os processos de PCs remotos. Basta anexar o sinalizador -ComputerName no final para especificar de qual computador remoto recuperar as informações.

                          Veja um exemplo:

                          get-service CryptSvc -ComputerName Workstation7

                          Gerenciando serviços do Windows no PowerShell

                          Obter o status dos serviços não é a única coisa que você pode fazer no Windows PowerShell. Como um ambiente de script completo, ele fornece alternativas de script para todas as opções de GUI.

                          Os cmdlets do Powershell podem parar, iniciar, reiniciar ou até mesmo modificar serviços. Combinados com comandos Get-Service automatizados, os scripts do PowerShell podem ser escritos para automatizar totalmente as tarefas diárias de gerenciamento do sistema.

                          1. Além de consultar o status dos serviços, você também pode usar o PowerShell para gerenciá-los. Iniciar ou parar serviços pode ser feito com um único comando, sendo necessário apenas o nome do serviço. Por exemplo, é assim que você pode interromper um serviço:
                          2. Stop-Service -Name Spooler

                            1. Iniciar um serviço é semelhante:
                            2. Start-Service -Name Spooler

                              1. Se um serviço não estiver funcionando corretamente, você também poderá optar por reiniciá-lo:
                              2. Restart-Service -Name Spooler

                                1. Há também o cmdlet Set-Service que pode ser usado para alterar as propriedades de um serviço. Aqui desativamos a inicialização automática do serviço Print Spooler:
                                2. .

                                  Set-Service ‘Spooler’ -StartupType desativado

                                  Qual ​​é a melhor maneira de listar os serviços do Windows?

                                  Esteja você executando o Windows 10 ou um Windows Server, poder visualizar uma lista de todos os serviços do Windows pode ser útil. Você pode diagnosticar problemas com funções críticas do sistema ou interrompa serviços desnecessários da Microsoft para melhorar o desempenho.

                                  Para esse propósito, o PowerShell é a melhor opção. Embora você possa obter uma lista de serviços no prompt de comando, a funcionalidade adicional fornecida pelo PowerShell é mais útil.

                                  Você pode usar cmdlets do PowerShell para obter o status de serviço dos processos do Windows, filtrando-os por status ou outros parâmetros. Também é fácil determinar serviços dependentes e iniciá-los ou interrompê-los conforme necessário.

                                  .

                                  Postagens relacionadas:


                                  26.06.2022