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 dispositivo até a garantia de segurança, vários processos em segundo plano mantêm um PC com Windows em funcionamento .

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(Task Manager) é muito lenta para isso e você não pode automatizá-la com um script.

A solução? Ferramentas de linha de comando. Usando o prompt de comando ou o PowerShell(Command Prompt or PowerShell) , você pode obter uma leitura rápida dos serviços operacionais da Microsoft em execução em um sistema, ajudando a diagnosticar qualquer problema rapidamente. 

Listando os serviços do (Services)Windows no prompt de comando(Command Prompt)

Embora não seja tão flexível ou poderoso quanto o Windows PowerShell(Windows PowerShell) , o prompt de comando(the Command Prompt) ainda é uma excelente ferramenta para administradores de sistema. Você pode usar o comando queryex para obter o status de serviços ativos e desabilitados e, em seguida, usar o comando taskkill(use the taskkill command) para encerrar processos irritantes.

  1. Para usar o comando queryex, execute o prompt(Command Prompt) de comando como administrador(Administrator) . Você pode encontrar o aplicativo pesquisando cmd no menu Iniciar.

  1. Há muitas maneiras de usar o comando sc queryex. Tipo e Estado(State) são os dois parâmetros mais usados. Por exemplo, digite o seguinte comando para visualizar todos  os processos do Windows :

sc queryex type=service state=all

  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=service state=all | find /i “SERVICE_NAME:”

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

sc queryex type=service state=inactive

  1. Você também pode consultar o status de um processo específico por seu nome. Isso é incrivelmente ú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:

sc query DeviceInstall

Listando os serviços do (Services)Windows no PowerShell

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

A vantagem do PowerShell(PowerShell) é que você pode automatizá-lo 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(Start) abrindo o PowerShell . Você pode procurá-lo no Menu Iniciar(Start Menu) ; apenas certifique-se de executar uma instância elevada (ou seja, como Administrador(Administrator) ).

  1. O comando mais simples para listar os serviços do Windows no (Windows)PowerShell é Get-Service . Ele mostra todos os serviços em seu computador, juntamente com seus status e nomes. O único problema é que a lista de serviços pode ser bem longa.

  1. Ao usar Get-Service , é melhor exportar a lista para um arquivo de texto. Você pode fazer isso usando pipes, assim:

Get-Service | Out-File “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 com vírgulas.

Get-Service CryptSvc, COMSysApp

  1. Os pipes também podem ser usados ​​para combinar o cmdlet Get-Service com a função (Get-Service)Where-Object e filtrar os resultados por Status . O comando a seguir ilustra isso obtendo todos os serviços em execução(Running) :

Get-Service | Where-Object {$_.Status -EQ “Running”}

Verificando dependências de 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 exibir os serviços exigidos por um serviço específico, use o sinalizador -RequiredServices com o cmdlet Get-Service . 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 sinalizador -DependentServices .

Get-Service -Name CryptSvc -DependentServices

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

Listando serviços do (Services)Windows em computadores remotos(Remote)

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

Aqui está um exemplo:

get-service CryptSvc -ComputerName Workstation7

Gerenciando Serviços do (Services)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(Powershell) podem parar, iniciar, reiniciar ou até modificar serviços. Emparelhados com comandos Get-Service automatizados, os scripts do (Get-Service)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, exigindo apenas o nome do serviço. Por exemplo, é assim que você pode interromper um serviço:

Stop-Service -Spooler de Nome(Stop-Service -Name Spooler)

  1. Iniciar um serviço é semelhante:

Start-Service -Spooler de Nomes(Start-Service -Name Spooler)

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

Restart-Service -Spooler de Nome(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 :

Set-Service 'Spooler' -StartupType Desativado(Set-Service ‘Spooler’ -StartupType Disabled)

Qual é a melhor maneira de listar os (List Windows) serviços(Services) do Windows ?

Esteja você executando o Windows 10(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 interromper serviços desnecessários da Microsoft para melhorar o desempenho.

Para isso, o PowerShell é a melhor opção. Embora você possa obter uma lista de serviços no prompt(Command 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 (PowerShell)Windows , filtrando-os por seu status ou outros parâmetros. Também é fácil determinar serviços dependentes e iniciá-los ou interrompê-los conforme necessário.



About the author

Sou um desenvolvedor web com mais de 10 anos de experiência, incluindo 8 anos como engenheiro de software profissional. Também tenho experiência no desenvolvimento de aplicativos e jogos para dispositivos móveis, tanto para desktop quanto para dispositivos móveis. No meu tempo livre, gosto de jogar videogame e assistir filmes, ouvir música, ler livros e fazer jardinagem.



Related posts