Service são uma das partes mais importantes dos sistemas operacionais. Existem diferentes ferramentas e comandos para listar estes serviços. Powershell fornece Get-Service
commandlet para listar estes serviços e filtrá-los de acordo com o filtro fornecido.
Começaremos com um caso de uso simples onde listaremos todos os serviços sem fornecer opções para o comando Get-Service
. Isto irá listar os serviços actualmente existentes com estado de execução ou parado.
PS> Get-Service
Como podemos ver a partir de screenshot os serviços estão ordenados pelo nome por defeito. A seguinte informação é fornecida por padrão sobre os serviços listados.
-
Status
será exibida se o serviço forRunning
ouStopped
-
Name
exibirá o nome real e curto do serviço que é usado pelos comandos. -
Display Name
mostrará o nome estendido e informativo do serviço que é mais amigável ao ser humano.
>
Listar todos os serviços no computador ou sistema remoto
Como a Microsoft forneceu acesso remoto e gestão dos sistemas remotos com powreshell podemos usar o comando Get-Service
para listar os serviços nos sistemas remotos. Nós forneceremos o -computername
do sistema remoto. Este pode ser um nome DNS que pode ser resolvido ou um endereço IP que podemos aceder.
PS > Get-Service -computername DESKTOP-HQVAMA3
Listar serviços com nome especificado
Os sistemas operativos Windows têm muitos serviços que irão preencher o terminal facilmente. Ou podemos precisar listar o nome do serviço específico fornecendo o nome de alguma parte do seu nome. Forneceremos apenas o nome após o comando Get-Service
. Também podemos usar *
glob onde apenas alguma parte do nome do serviço será especificada. Neste exemplo vamos tentar listar WinDefend
serviço fornecendo WinDef*
como nome do serviço.
PS > Get-Service WinDef*
Listar Apenas Serviços em Execução no Momento
Existem dois estados principais de serviço no Windows. Running
ou Stopped
. Podemos precisar de listar os serviços de acordo com o seu estado. Podemos usar o parâmetro de objeto Status
como abaixo que listará apenas serviços em execução.
PS> Get-Service | Where-Object {$_.Status -eq "Running"}
Listar serviço com serviço dependente
Serviços são importantes e podem estar ligados e dependentes uns dos outros. Antes de pará-los podemos precisar de listar serviços dependentes do serviço em questão. Podemos usar -RequiredServices
Opções para listar dependências do serviço.
PS> Get-Service "WinDefend" -RequiredServices
Listar Classificado por Estado (Parado/Em Execução)
Pode ser necessário verificar a lista de serviços de acordo com o seu estado de Execução e Parado. Podemos ordená-los usandoSort-Object
como abaixo.
PS> Get-Service | Sort-Object status
Escrever Lista de Serviços em um arquivo
Pode ser necessário investigar a lista de serviços mais tarde ou apenas queremos salvá-los em um arquivo. Podemos usar o comando Out-File
que irá escrever a lista de serviços no ficheiro que queremos. Neste exemplo vamos escrever num ficheiro chamado Services.txt
PS> Get-Service | Out-File "C:\Users\İsmail Baydan\Desktop\Services.txt"