Compartilhar 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 Get-Service cmdlet 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. Por padrão, quando Get-Service é executado sem parâmetros, todos os serviços do computador local são retornados.

Você pode direcionar esse cmdlet para obter apenas serviços específicos especificando o nome do serviço ou o nome de 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

Este exemplo 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.

Get-Service

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

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

Get-Service "wmi*"

Exemplo 3: serviços de exibição que incluem uma string de pesquisa

Este exemplo exibe serviços com um nome de exibição que inclui a palavra network. A pesquisa do nome de 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.

Get-Service -Displayname "*network*"

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

Este exemplo obtém apenas os serviços com nomes de serviço que começam com win, exceto para o serviço WinRM.

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

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

Este exemplo exibe apenas os serviços com um status de Running.

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

Get-Service obtém todos os serviços no computador e envia os objetos pelo pipeline. O Where-Object cmdlet seleciona apenas os serviços com uma propriedade Status igual a Running.

O 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"

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

Como o parâmetro ComputerName de não usa a comunicação remota do Get-Service 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

Este exemplo obtém serviços 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 Get-Service cmdlet obtém todos os serviços no computador e envia os objetos pelo pipeline. O Where-Object cmdlet seleciona os serviços cuja propriedade DependentServices não é nula.

Os resultados são enviados pelo pipeline para o Format-List cmdlet. O parâmetro Property exibe o nome do serviço, o nome dos serviços dependentes e uma propriedade calculada que exibe o número de serviços dependentes para cada serviço.

Exemplo 8: Classificar serviços por valor de propriedade

Este exemplo mostra que, quando você classifica os serviços em ordem crescente pelo valor de sua propriedade Status , os serviços interrompidos aparecem antes de serem executados pelos 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 obter mais informações, consulte ServiceControllerStatus.

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

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

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)

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

O comando é executado nos computadores remotos e os resultados são retornados ao computador local. Um operador de pipeline (|) envia os resultados para o Format-Table cmdlet, que formata os serviços como uma tabela. O Format-Table comando 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

Este exemplo obtém os serviços que o serviço WinRM exige. O valor da propriedade ServicesDependedOn do serviço é retornado.

Get-Service "WinRM" -RequiredServices

Exemplo 11: Obter um serviço por meio do operador de pipeline

Este exemplo obtém o serviço WinRM no computador local. A cadeia de caracteres do nome do serviço, entre aspas, é enviada pelo pipeline para Get-Service.

"WinRM" | 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 FQDN (nome de domínio totalmente qualificado) 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 mesmo Get-Service que o computador não esteja configurado para executar comandos remotos.

Tipo:String[]
Aliases:Cn
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-DependentServices

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

Tipo:SwitchParameter
Aliases:DS
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DisplayName

Especifica, como uma matriz de cadeia de caracteres, os nomes de exibição dos serviços a serem recuperados. Caracteres curinga são permitidos.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 parâmetro Name . Insira um elemento ou padrão de nome, como s*. Caracteres curinga são permitidos.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 parâmetro Name . Insira um elemento ou padrão de nome, como s*. Caracteres curinga são permitidos.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:True

-InputObject

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

Tipo:ServiceController[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Name

Especifica os nomes de serviço dos serviços a serem recuperados. Caracteres curinga são permitidos.

Tipo:String[]
Aliases:ServiceName
Cargo:0
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:True

-RequiredServices

Indica que esse cmdlet obtém apenas os serviços que esse serviço requer. Esse parâmetro obtém o valor da propriedade ServicesDependedOn do serviço.

Tipo:SwitchParameter
Aliases:SDO, ServicesDependedOn
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:True

Entradas

ServiceController

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

String

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

Saídas

ServiceController

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

Observações

O Windows PowerShell inclui os seguintes aliases para Get-Service:

  • gsv

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

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

Observação

Normalmente, Get-Service retorna informações sobre serviços e não driver. No entanto, se você especificar o nome de um driver, Get-Service retornará informações sobre o driver.

  • A enumeração não inclui serviços de driver de dispositivo
  • Quando um curinga é especificado, o cmdlet retorna apenas serviços do Windows
  • Se você especificar o Nome ou DisplayName que é uma correspondência exata com um nome de serviço do dispositivo, a instância do dispositivo será retornada

Quando você classifica em ordem crescente por valor de status, Stopped os serviços aparecem antes dos Running serviços. A propriedade Status de um serviço é um valor enumerado no qual os nomes dos status representam valores inteiros. A classificação baseia-se no valor do inteiro, não no nome. Running aparece antes Stopped porque Stopped tem um valor de 1, e Running tem um valor de 4. Para obter mais informações, consulte ServiceControllerStatus.