Partilhar via


Get-Service

Obtém os serviços em um computador local ou remoto.

Sintaxe

Get-Service
   [[-Name] <String[]>]
   [-ComputerName <String[]>]
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-ComputerName <String[]>]
   [-DependentServices]
   [-RequiredServices]
   -DisplayName <String[]>
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-ComputerName <String[]>]
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-InputObject <ServiceController[]>]
   [<CommonParameters>]

Description

O cmdlet Get-Service obtém objetos que representam os serviços em um computador local ou em um computador remoto, incluindo serviços em execução e interrompidos.

Você pode direcionar esse cmdlet para obter apenas serviços específicos especificando o nome do serviço ou o nome para exibição dos serviços, ou pode canalizar objetos de serviço para esse cmdlet.

Exemplos

Exemplo 1: Obter todos os serviços no computador

Get-Service

Este comando obtém todos os serviços no computador. Ele se comporta como se você tivesse digitado Get-Service *. A exibição padrão mostra o status, o nome do serviço e o nome para exibição de cada serviço.

Exemplo 2: Obter serviços que começam com uma cadeia de caracteres de pesquisa

Get-Service "wmi*"

Este comando recupera serviços com nomes de serviço que começam com WMI (a sigla para Instrumentação de Gerenciamento do Windows).

Exemplo 3: Exibir serviços que incluem uma cadeia de caracteres de pesquisa

Get-Service -Displayname "*network*"

Este comando exibe serviços com um nome para exibição que inclui a palavra rede. A pesquisa do nome para exibição localiza serviços relacionados à rede mesmo quando o nome do serviço não inclui "Net", como xmlprov, o Serviço de Provisionamento de Rede.

Exemplo 4: Obter serviços que começam com uma cadeia de caracteres de pesquisa e uma exclusão

Get-Service -Name "win*" -Exclude "WinRM"

Esses comandos obtêm apenas os serviços com nomes de serviço que começam com win, exceto para o serviço WinRM.

Exemplo 5: Exibir serviços que estão ativos no momento

Get-Service | Where-Object {$_.Status -eq "Running"}

Este comando exibe apenas os serviços que estão ativos no momento. Ele usa o cmdlet Get-Service para obter todos os serviços no computador. O operador de pipeline (|) passa os resultados para o cmdlet Where-Object, que seleciona apenas os serviços com uma propriedade Status igual a Running.

Status é apenas uma propriedade de objetos de serviço. Para ver todas as propriedades, digite Get-Service | Get-Member.

Exemplo 6: Obter os serviços em um computador remoto

Get-Service -ComputerName "Server02"

Este comando obtém os serviços no computador remoto Server02.

Como o parâmetro ComputerName de Get-Service não usa a comunicação remota do Windows PowerShell, você pode usar esse parâmetro mesmo que o computador não esteja configurado para comunicação remota no Windows PowerShell.

Exemplo 7: Listar os serviços no computador local que têm serviços dependentes

Get-Service |
  Where-Object {$_.DependentServices} |
    Format-List -Property Name, DependentServices, @{
      Label="NoOfDependentServices"; Expression={$_.dependentservices.count}
    }

Name                  : AudioEndpointBuilder
DependentServices     : {AudioSrv}
NoOfDependentServices : 1

Name                  : Dhcp
DependentServices     : {WinHttpAutoProxySvc}
NoOfDependentServices : 1
...

O primeiro comando usa o cmdlet Get-Service para obter os serviços no computador. Um operador de pipeline (|) envia os serviços para o cmdlet Where-Object, que seleciona os serviços cuja propriedade DependentServices não é nula.

Outro operador de pipeline envia os resultados para o cmdlet Format-List. O comando usa seu parâmetro Property para exibir o nome do serviço, o nome dos serviços dependentes e uma propriedade calculada que exibe o número de serviços dependentes que cada serviço tem.

Exemplo 8: Classificar serviços por valor de propriedade

Get-Service "s*" | Sort-Object status

Status   Name               DisplayName
------   ----               -----------
Stopped  stisvc             Windows Image Acquisition (WIA)
Stopped  SwPrv              MS Software Shadow Copy Provider
Stopped  SysmonLog          Performance Logs and Alerts
Running  Spooler            Print Spooler
Running  srservice          System Restore Service
Running  SSDPSRV            SSDP Discovery Service
Running  ShellHWDetection   Shell Hardware Detection
Running  Schedule           Task Scheduler
Running  SCardSvr           Smart Card
Running  SamSs              Security Accounts Manager
Running  SharedAccess       Windows Firewall/Internet Connectio...
Running  SENS               System Event Notification
Running  seclogon           Secondary Logon

Este comando mostra que, quando você classifica os serviços em ordem crescente pelo valor de sua propriedade Status , os serviços interrompidos aparecem antes de executar os serviços. Isso acontece porque o valor de Status é uma enumeração, na qual Stopped tem um valor de 1 e Running tem um valor de 4.

Para listar os serviços em execução primeiro, use o parâmetro Descending do cmdlet Sort-Object.

Exemplo 9: Obter serviços em vários computadores

Get-Service -Name "WinRM" -ComputerName "localhost", "Server01", "Server02" |
 Format-Table -Property MachineName, Status, Name, DisplayName -auto

MachineName    Status  Name  DisplayName
------------   ------  ----  -----------
localhost      Running WinRM Windows Remote Management (WS-Management)
Server01       Running WinRM Windows Remote Management (WS-Management)
Server02       Running WinRM Windows Remote Management (WS-Management)

Este comando usa o cmdlet Get-Service para executar um comando Get-Service Winrm em dois computadores remotos e no computador local ("localhost").

O comando é executado nos computadores remotos e os resultados são retornados para o computador local. Um operador de pipeline (|) envia os resultados para o cmdlet Format-Table, que formata os serviços como uma tabela. O comando Format-Table usa o parâmetro Property para especificar as propriedades exibidas na tabela, incluindo a propriedade MachineName.

Exemplo 10: Obter os serviços dependentes de um serviço

Get-Service "WinRM" -RequiredServices

Este comando obtém os serviços que o serviço WinRM requer.

O comando retorna o valor da propriedade ServicesDependedOn do serviço.

Exemplo 11: Obter um serviço através do operador de pipeline

"WinRM" | Get-Service

Este comando obtém o serviço WinRM no computador local. Este exemplo mostra que você pode canalizar uma cadeia de caracteres de nome de serviço (entre aspas) para Get-Service.

Parâmetros

-ComputerName

Obtém os serviços em execução nos computadores especificados. O padrão é o computador local.

Digite o nome NetBIOS, um endereço IP ou um nome de domínio totalmente qualificado (FQDN) de um computador remoto. Para especificar o computador local, digite o nome do computador, um ponto (.) ou localhost.

Esse parâmetro não depende da comunicação remota do Windows PowerShell. Você pode usar o parâmetro ComputerName de Get-Service mesmo que seu computador não esteja configurado para executar comandos remotos.

Tipo:String[]
Aliases:Cn
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-DependentServices

Indica que esse cmdlet obtém apenas os serviços que dependem do serviço especificado.

Por padrão, esse cmdlet obtém todos os serviços.

Tipo:SwitchParameter
Aliases:DS
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-DisplayName

Especifica, como uma matriz de cadeia de caracteres, os nomes de exibição dos serviços a serem recuperados. Curingas são permitidos. Por padrão, esse cmdlet obtém todos os serviços no computador.

Tipo:String[]
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-Exclude

Especifica, como uma matriz de cadeia de caracteres, um serviço ou serviços que esse cmdlet exclui da operação. O valor desse parâmetro qualifica o Name parâmetro. Insira um elemento ou padrão de nome, como "s*". Curingas são permitidos.

Tipo:String[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-Include

Especifica, como uma matriz de cadeia de caracteres, um serviço ou serviços que esse cmdlet inclui na operação. O valor desse parâmetro qualifica o Name parâmetro. Insira um elemento ou padrão de nome, como "s*". Curingas são permitidos.

Tipo:String[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-InputObject

Especifica ServiceController objetos que representam os serviços a serem recuperados. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtenha os objetos. Você também pode canalizar um objeto de serviço para esse cmdlet.

Tipo:ServiceController[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-Name

Especifica os nomes de serviço dos serviços a serem recuperados. Curingas são permitidos. Por padrão, esse cmdlet obtém todos os serviços no computador.

Tipo:String[]
Aliases:ServiceName
Position:0
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:True

-RequiredServices

Indica que esse cmdlet obtém apenas os serviços que esse serviço exige.

Este parâmetro obtém o valor da propriedade ServicesDependedOn do serviço. Por padrão, esse cmdlet obtém todos os serviços.

Tipo:SwitchParameter
Aliases:SDO, ServicesDependedOn
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

Entradas

System.ServiceProcess.ServiceController, System.String

Você pode canalizar um objeto de serviço ou um nome de serviço para esse cmdlet.

Saídas

ServiceController

Este cmdlet retorna objetos que representam os serviços no computador.

Notas

Você também pode se referir a Get-Service por seu alias interno, "gsv". Para obter mais informações, consulte about_Aliases.

Esse cmdlet pode exibir serviços somente quando o usuário atual tiver permissão para vê-los. Se esse cmdlet não exibir serviços, talvez você não tenha permissão para vê-los.

Para encontrar o nome do serviço e o nome para exibição de cada serviço no seu sistema, digite Get-Service. Os nomes de serviço aparecem na coluna Nome e os nomes para exibição aparecem na coluna DisplayName.

Quando você classifica em ordem crescente por valor de status, os serviços "Parados" aparecem antes dos serviços "Em execução". A propriedade Status de um serviço é um valor enumerado no qual os nomes dos status representam valores inteiros. A classificação é baseada no valor inteiro, não no nome. "Em execução" aparece antes de "Parado" porque "Parado" tem um valor de "1", e "Em execução" tem um valor de "4".