Get-Service
Obtém os serviços em um computador local ou remoto.
Sintaxe
Get-Service [[-Name] <string[]>] [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>]
Get-Service -DisplayName <string[]> [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>]
Get-Service [-InputObject <ServiceController[]>] [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>]
Descrição
O cmdlet Get-Service obtém objetos que representam os serviços de um computador local ou de um computador remoto, incluindo os serviços em execução e os parados.
Você pode direcionar Get-Service para obter apenas determinados serviços especificando o nome do serviço ou nome para exibição dos serviços ou pode enviar por pipe os objetos de serviço para Get-Service.
Parâmetros
-ComputerName <string[]>
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 de um computador remoto. Para especificar o computador local, digite o nome do computador, um ponto (.) ou "localhost".
Este parâmetro não se baseia na comunicação remota do Windows PowerShell. É possível usar o parâmetro ComputerName de Get-Service mesmo que o seu computador não esteja configurado para executar comandos remotos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
Localhost |
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
-DependentServices
Obtém apenas os serviços que dependem do serviço especificado.
Por padrão, Get-Service obtém todos os serviços.
Necessário? |
false |
Posição? |
named |
Valor padrão |
False |
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-DisplayName <string[]>
Especifica os nomes de exibição dos serviços a serem recuperados. Os caracteres curinga são permitidos. Por padrão, Get-Service obtém todos os serviços do computador.
Necessário? |
true |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Exclude <string[]>
Omite os serviços especificados. O valor desse parâmetro qualifica o parâmetro Name. Digite um elemento ou padrão do nome, como "s*". Os caracteres curinga são permitidos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Include <string[]>
Recupera somente os serviços especificados. O valor desse parâmetro qualifica o parâmetro Name. Digite um elemento ou padrão do nome, como "s*". Os caracteres curinga são permitidos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-InputObject <ServiceController[]>
Especifica os objetos ServiceController que representam os serviços que devem ser recuperados. Insira uma variável que contenha os objetos, ou digite um comando ou uma expressão que obtenha os objetos. Você também pode enviar um objeto de sessão para Get-Service.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByValue) |
Aceitar caracteres curinga? |
false |
-Name <string[]>
Especifica os nomes dos serviços a serem recuperados. Os caracteres curinga são permitidos. Por padrão, Get-Service obtém todos os serviços do computador.
Necessário? |
false |
Posição? |
1 |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByValue, ByPropertyName) |
Aceitar caracteres curinga? |
true |
-RequiredServices
Obtém apenas os serviços necessários a esse serviço.
Esse parâmetro obtém o valor da propriedade ServicesDependedOn do serviço. Por padrão, Get-Service obtém todos os serviços.
Necessário? |
false |
Posição? |
named |
Valor padrão |
False |
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
System.ServiceProcess.ServiceController, System.String Você pode enviar um objeto de serviço ou um nome de serviço para Get-Service. |
Saídas |
System.ServiceProcess.ServiceController Get-Service retorna objetos que representam os serviços no computador. |
Observações
Você também pode fazer referência a Get-Service usando seu alias interno, "gsv". Para obter mais informações, consulte about_Aliases.
Get-Service poderá exibir os serviços somente quando o usuário atual tiver permissão para vê-los. Caso Get-Service não possa exibir os serviços, é possível que você não tenha permissão para vê-los.
Para encontrar o nome do serviço e o nome de exibição de cada serviço no seu sistema, digite "get-service". Os nomes de serviços são exibidos na coluna Name e o nome de exibição na coluna DisplayName.
Quando você classifica em ordem crescente por valor de status, os serviços com status "Parado" aparecem antes dos serviços com status "Executando". A propriedade Status de um serviço é um valor enumerado no qual os nomes dos status representam valores inteiros. A classificação está baseada no valor inteiro, não no nome. "Executando" aparece antes de "Parado" porque "Parado" tem o valor "1" e "Executando" tem o valor "4".
Exemplo 1
C:\PS>get-service
Descrição
-----------
Esse comando recupera todos os serviços do sistema. Ele se comporta como se você tivesse digitado "get-service *". A exibição padrão mostra o status, o nome e o nome de exibição de cada serviço.
Exemplo 2
C:\PS>get-service wmi*
Descrição
-----------
Esse comando recupera serviços com nomes de serviço que começam com "WMI" (o acrônimo para Instrumentação de Gerenciamento do Windows).
Exemplo 3
C:\PS>get-service -displayname *network*
Descrição
-----------
Esse comando exibe serviços com nomes de exibição que incluem a palavra
"network". A pesquisa do nome para exibição encontra serviços relacionados à rede mesmo quando o nome do serviço não inclui "Net", como xmlprov, o Serviço de Configuração de Rede.
Exemplo 4
C:\PS>get-service -name win* -exclude winrm
Descrição
-----------
Esses comandos obtém apenas os serviços com nomes que começam com "win", exceto o serviço WinRM.
Exemplo 5
C:\PS>get-service | where-object {$_.Status -eq "Running"}
Descrição
-----------
Esse comando exibe somente os serviços que estão em execução no momento. Ele usa o cmdlet Get-Service para obter todos os serviços no computador. O operador de pipeline (|) transmite os resultados para o cmdlet Where-Object, que seleciona somente o serviços cuja propriedade Status seja "Executando".
Status é somente uma das propriedades dos objetos de serviço. Para visualizar todas as propriedades, digite "get-service | get-member".
Exemplo 6
C:\PS>get-service -computername Server02
Descrição
-----------
Esse 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
C:\PS>get-service | where-object {$_.DependentServices} | format-list -property Name, DependentServices, @{Label="NoOfDependentS
ervices"; Expression={$_.dependentservices.count}}
Name : AudioEndpointBuilder
DependentServices : {AudioSrv}
NoOfDependentServices : 1
Name : Dhcp
DependentServices : {WinHttpAutoProxySvc}
NoOfDependentServices : 1
...
Descrição
-----------
Esses comandos listam os serviços no computador que têm serviços dependentes.
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 seja nula.
Outro operador de pipeline envia os resultados para o cmdlet Format-List. O comando usa o 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
C:\PS>C:\PS> 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
C:\PS> get-service s* | sort-object status -descending
Status Name DisplayName
------ ---- -----------
Running ShellHWDetection Shell Hardware Detection
Running SharedAccess Windows Firewall/Internet Connectio...
Running Spooler Print Spooler
Running SSDPSRV SSDP Discovery Service
Running srservice System Restore Service
Running SCardSvr Smart Card
Running SamSs Security Accounts Manager
Running Schedule Task Scheduler
Running SENS System Event Notification
Running seclogon Secondary Logon
Stopped SysmonLog Performance Logs and Alerts
Stopped SwPrv MS Software Shadow Copy Provider
Stopped stisvc Windows Image Acquisition (WIA)
Descrição
-----------
Esse comando mostra que quando você classifica serviços em ordem crescente pelo valor da propriedade Status, os serviços parados aparecem antes dos serviços em execução. Isso acontece porque o valor de Status é uma enumeração, na qual "Parado" tem o valor "1" e "Executando" tem o valor 4.
Para listar serviços em execução primeiro, use o parâmetro Descending do cmdlet Sort-Object.
Exemplo 9
C:\PS>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)
Descrição
-----------
Esse comando usa o cmdlet Get-Service para executar um comando "Get-Service Winrm" em dois computadores remotos e no computador local ("localhost").
O comando Get-Service é 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 em uma tabela. O comando Format-Table usa o parâmetro Property para especificar as propriedades exibidas na tabela, incluindo a propriedade MachineName.
Exemplo 10
C:\PS>get-service winrm -requiredServices
Descrição
-----------
Esse comando obtém os serviços necessários ao serviço WinRM.
O comando retorna o valor da propriedade ServicesDependedOn do serviço.
Exemplo 11
C:\PS>"winrm" | get-service
Descrição
-----------
Esse comando obtém o serviço WinRM no computador local. Este exemplo mostra que você pode enviar uma cadeia de caracteres de nome de serviço, entre aspas, para Get-Service.
Consulte também
Conceitos
Start-Service
Stop-Service
Restart-Service
Resume-Service
Suspend-Service
Set-Service
New-Service