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

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

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

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

Índice

    A solução? Ferramentas da linha de comando. Usando o prompt de comando ou o PowerShell, você pode ler rapidamente os serviços operacionais da Microsoft em execução em um sistema, ajudando você a diagnosticar qualquer problema rapidamente. 

    1. Existem muitas maneiras de usar o comando sc queryex. Tipo e estado são os dois parâmetros mais usados. Por exemplo, insira o seguinte comando para visualizar todos os processos do Windows:

    sc queryex tipo = estado de serviço = tudo

    1. A visualização padrão pode ser um pouco esmagadora. Você pode exibir apenas os nomes dos processos para facilitar a análise da lista:

    SC Queryex Type = Estado de serviço = All | Encontre /i "Service_name:"

    1. Por padrão, o comando lista todos os processos ativos. Para procurar os inativos, modifique o parâmetro de estado:

    sc queryex tipo = estado de serviço = inativo

    1. Você também pode consultar o status de um processo específico pelo seu nome. Isso é incrivelmente útil para os administradores do sistema, pois eles podem configurar arquivos em lote para verificar muitos processos de uma só vez. Aqui está um exemplo:

    SC Consulta DeviceInstall

    Listando o Windows Services em PowerShell

    PowerShell deve ser um shell de linha de comando dedicado para janelas modernas. 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 de Powershell é que você pode automatizá -la facilmente. Todos os comandos do PowerShell podem ser compilados em scripts complexos, permitindo que você configure tarefas de administração do sistema em vários PCs sem problemas.

    1. Comece abrindo o PowerShell. Você pode procurá -lo no menu Iniciar; Apenas certifique -se de executar uma instância elevada (i.e., como administrador).
    1. O comando mais simples para listar o Windows Services no PowerShell é Get-Service. Ele mostra todos os serviços em seu computador, juntamente com o status e os nomes deles. O único problema é que a lista de serviços pode ser bastante longa.
    1. Ao usar Get-Service, É uma ideia melhor exportar a lista para um arquivo de texto. Você pode fazer isso usando tubos, assim:

    Get-Service | File de fora “C: \ logs \ All_Services.TXT"

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

    Get-Service Cryptsvc, ComsysApp

    1. Tubos também podem ser usados ​​para combinar o Get-Service cmdlet com o Onde-objeto Função e filtrar os resultados por status. O comando a seguir ilustra isso obtendo todos os serviços em execução:

    Get-Service | Onde-objeto $ _.Status -eq “Running”

    Verificação de dependências do serviço

    Qualquer processo complexo é dividido em vários serviços interdependentes. É por isso que simplesmente obter o status de um determinado serviço geralmente 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 determinado serviço, use o -NEPERIUNTES SERVICES bandeira com o Get-Service cmdlet. Aqui está um exemplo:

    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 -DependentServices bandeira.

    Get -Service -Name Cryptsvc -DependEntServices

    Essas duas bandeiras são cruciais ao 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 o Windows Services em computadores remotos

    O método PowerShell não se limita aos computadores locais. Você pode usar o cmdlet Get-Service com a mesma sintaxe descrita acima para consultar os processos de PCs remotos também. Basta anexar o -Nome do computador sinalizar no final para especificar qual computador remoto para recuperar informações de. 

    Aqui está um exemplo:

    Get -Service Cryptsvc -ComputerName WorkStation7

    Gerenciando o Windows Services em PowerShell

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

    Os cmdlets do PowerShell podem parar, iniciar, reiniciar ou até modificar serviços. Emparelhado com automatizado Get-Service Comandos, os scripts do PowerShell podem ser gravados para automatizar totalmente as tarefas de gerenciamento do sistema diário.

    1. Além de consultar o status dos serviços, você também pode usar o PowerShell para gerenciá -los. Os serviços de partida ou parada podem ser feitos com um único comando, exigindo apenas o nome do serviço. Por exemplo, é assim que você pode parar um serviço:

    Stop -Service -Name Spooler

    1. Iniciar um serviço vai da mesma forma:

    Start -Service -Name Spooler

    1. Se um serviço não estiver funcionando corretamente, você também pode optar por reiniciá -lo:

    Reinicie o serviço -Name Spooler

    1. Há também o cmdlet de serviço que pode ser usado para alterar as propriedades de um serviço. Aqui, desativamos a inicialização automática do serviço de spooler de impressão:

    Set -Service 'Spooler' -startuptype desativado

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

    Se você está executando o Windows 10 ou um servidor Windows, 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 interromper os serviços desnecessários da Microsoft para melhorar o desempenho.

    Para esse fim, 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 o PowerShell cmdlets para obter o status de serviço dos processos do Windows, filtrando -os por seu status ou outros parâmetros. Também é fácil determinar serviços dependentes e iniciá -los ou detê -los conforme necessário.