Questão de Sistemas Operacionais — Geral — INSTITUTO AOCP 2025
Sistemas Operacionais›Geral
Código
qa701190
Banca
INSTITUTO AOCP
Órgão
TRE TO
Ano
2025
Cargo
TJ
Um técnico precisa verificar os serviços em execução em um servidor Windows Server 2016 que hospeda o sistema de consolidação de resultados eleitorais. Para identificar rapidamente quais serviços estão ativos e garantir que o sistema esteja funcionando corretamente, qual comando pode ser usado no PowerShell para listar todos os serviços em execução?
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Gerenciamento de serviços no Windows com PowerShell
Gabarito: letra A. O comando Get-Service | Where-Object {$_.Status -eq "Running"} é a forma correta de listar, no PowerShell, apenas os serviços que estão em execução (status Running) em um Windows Server 2016. O Get-Service obtém todos os serviços do sistema e o Where-Object filtra aqueles cujo status é igual a "Running".
O PowerShell é o shell e linguagem de script da Microsoft, presente por padrão no Windows Server 2016. Ele permite gerenciar o sistema por meio de cmdlets (comandos) que seguem o padrão Verbo-Substantivo, como Get-Service, Get-Process, Get-Item, entre outros. Para filtrar resultados, utiliza-se o cmdlet Where-Object, que recebe uma condição entre chaves {} e retorna apenas os objetos que a satisfazem. No caso, a condição $_.Status -eq "Running" verifica se a propriedade Status de cada serviço (representada por $_) é igual a "Running".
A propriedade Status de um serviço pode assumir valores como Running, Stopped, Paused, StartPending, StopPending, entre outros. O filtro -eq "Running" seleciona exatamente os serviços ativos. É importante notar que o operador -eq é o operador de igualdade do PowerShell (não é == como em outras linguagens), e que os valores de status são strings, por isso as aspas.
Na prática, se o técnico executar esse comando no servidor, verá uma lista com o nome, o nome de exibição e o status de cada serviço que está rodando. Por exemplo, se o serviço "W3SVC" (World Wide Web Publishing Service) estiver ativo, ele aparecerá com Status Running. Isso permite verificar rapidamente se o serviço do sistema de consolidação de resultados eleitorais está em execução.
A banca explora aqui a confusão entre comandos que listam serviços, processos e conexões de rede. O candidato que não conhece a sintaxe do PowerShell pode se perder entre netstat, tasklist e Get-Process. A chave é lembrar que Get-Service é o cmdlet específico para serviços, e que o filtro Where-Object é a forma de selecionar apenas os que estão rodando.
Guarde a distinção: Get-Service lida com serviços do Windows; Get-Process lida com processos (programas em execução); netstat mostra conexões de rede; tasklist lista processos (e com /svc mostra os serviços associados a cada processo). É exatamente essa fronteira que as alternativas tentam confundir.
1Get-Service
2Where-Object
3Filtro Status -eq Running
LEVEL · soulevel.com.br
Alternativa A — ✅ Correta ⟵ GABARITO
Esta é a alternativa correta. O comando Get-Service | Where-Object {$_.Status -eq "Running"} faz exatamente o que o enunciado pede: lista todos os serviços que estão com status Running (em execução). O Get-Service retorna todos os serviços do sistema, e o Where-Object filtra apenas aqueles cuja propriedade Status é igual a "Running". É a forma mais direta e eficiente de verificar quais serviços estão ativos no PowerShell.
Alternativa B — ❌ Incorreta
O comando netstat -a exibe todas as conexões de rede ativas e portas em escuta no computador. Ele não lista serviços do Windows, mas sim conexões TCP/UDP. Embora possa ser útil para verificar se um serviço está escutando em uma porta específica, não é a ferramenta para listar serviços em execução. A banca troca o conceito de "serviço" por "conexão de rede".
Alternativa C — ❌ Incorreta
O comando tasklist /svc lista os processos em execução e, com o parâmetro /svc, mostra os serviços associados a cada processo. Ele não lista diretamente os serviços do Windows, mas sim os processos e, indiretamente, os serviços que estão rodando dentro deles. Não é a forma mais direta de listar serviços ativos, e o enunciado pede especificamente "listar todos os serviços em execução", o que é feito de forma mais adequada com Get-Service.
Alternativa D — ❌ Incorreta
O comando Get-Process | Select Running é inválido. O Get-Process lista processos, não serviços, e a sintaxe Select Running não é correta — o Select-Object (ou Select) é usado para selecionar propriedades específicas, não para filtrar por status. Para filtrar processos em execução, seria necessário usar Where-Object com a propriedade adequada (como $_.Responding), mas mesmo assim não atenderia ao pedido de listar serviços. A alternativa mistura conceitos de processos e serviços, além de apresentar sintaxe incorreta.
Alternativa E — ❌ Incorreta
services.msc é o nome do snap-in do Console de Gerenciamento Microsoft (MMC) que abre a interface gráfica de gerenciamento de serviços do Windows. Ele permite visualizar e gerenciar serviços, mas não é um comando do PowerShell e não atende ao requisito de "usar no PowerShell". O enunciado pede explicitamente um comando do PowerShell, e services.msc é uma ferramenta gráfica, não um cmdlet.