Get-Service
Obtém os serviços em um computador local ou remoto.
Sintaxe
Default (Default)
Get-Service
[[-Name] <String[]>]
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
DisplayName
Get-Service
-DisplayName <String[]>
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
InputObject
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. 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 redirecionar objetos de serviço para este 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ê digitasse Get-Service *. A exibição padrão mostra o status, o nome do serviço e o nome de 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: Exibir serviços que incluem uma cadeia de caracteres de pesquisa
Este exemplo exibe serviços com um nome de exibição que inclui a palavra network. Pesquisar o 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: Exibir serviços 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 cmdlet Where-Object 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"
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: 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 cmdlet Get-Service obtém todos os serviços no computador e envia os objetos pelo pipeline. O cmdlet Where-Object seleciona os serviços cuja propriedade DependentServices não é nula.
Os resultados são enviados pelo pipeline para o cmdlet Format-List. 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 de, 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 1e 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 Decrescente do cmdlet Sort-Object.
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 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
Este exemplo obtém os serviços exigidos pelo serviço WinRM. 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 de nome de 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 de Get-Service mesmo se o computador não estiver configurado para executar comandos remotos.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | Cn |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-DependentServices
Indica que esse cmdlet obtém apenas os serviços que dependem do serviço especificado.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | DS |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | 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.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
Conjuntos de parâmetros
DisplayName
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Exclude
Especifica, como uma matriz de cadeia de caracteres, um serviço ou serviço 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*. Curingas são permitidos.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Include
Especifica, como uma matriz de cadeia de caracteres, um serviço ou serviço 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*. Curingas são permitidos.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-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 obtém os objetos. Você pode canalizar um objeto de serviço para este cmdlet.
Propriedades do parâmetro
| Tipo: | |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
InputObject
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Name
Especifica os nomes de serviço dos serviços a serem recuperados. Curingas são permitidos.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
| Aliases: | NomeDoServiço |
Conjuntos de parâmetros
Default
| Cargo: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-RequiredServices
Indica que esse cmdlet obtém apenas os serviços necessários para esse serviço. Esse parâmetro obtém o valor da propriedade ServicesDependedOn do serviço.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | True |
| DontShow: | False |
| Aliases: | SDO, ServicesDependedOn |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
ServiceController
Você pode canalizar um objeto de serviço para este cmdlet.
String
Você pode canalizar um nome de serviço para este 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 só pode exibir serviços 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 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.
Nota
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 os serviços do Windows
- Se você especificar o Name 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 serviços aparecem antes de 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 é baseada no valor inteiro, não no nome.
Running aparece antes Stopped porque Stopped tem um valor de 1e Running tem um valor de 4. Para obter mais informações, consulte ServiceControllerStatus.