Questão de Sistemas Operacionais — Windows Powershell e Prompt de Comando — CESPE / CEBRASPE 2025
- Código
- ce418277
- Banca
- CESPE / CEBRASPE
- Órgão
- TRT 10
- Ano
- 2025
- Cargo
- AJ TRT10
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: letra E (ERRADO). O comando Invoke-Command não será executado diretamente apenas porque a sessão remota já está ativa; ele exige que o parâmetro -ComputerName (ou -Session) seja especificado para indicar o servidor remoto. Sem isso, o comando é executado localmente, e não no servidor remoto. A afirmação está incorreta.
O Invoke-Command é um cmdlet do PowerShell usado para executar comandos em computadores remotos. Para que a execução ocorra em um servidor remoto, é necessário informar o nome do computador ou uma sessão remota já estabelecida. No comando apresentado, não há -ComputerName nem -Session, portanto ele seria executado na máquina local, não no servidor remoto. A simples existência de uma sessão remota ativa não faz com que o comando seja direcionado a ela automaticamente.
Além disso, o comando Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart instala o Hyper-V e as ferramentas de gerenciamento, reiniciando o sistema se necessário. Esse comando é válido, mas a questão não está nisso: o erro está na premissa de que a execução remota ocorreria automaticamente.
Para executar remotamente, o correto seria usar algo como Invoke-Command -ComputerName ServidorRemoto -ScriptBlock { ... } ou Invoke-Command -Session $sessao -ScriptBlock { ... }. A ausência desses parâmetros torna a afirmação falsa.
A pegadinha da banca está em explorar o conhecimento superficial do candidato: muitos sabem que Invoke-Command serve para execução remota, mas esquecem que é necessário especificar o destino. A banca troca a necessidade de -ComputerName pela suposição de que a sessão ativa bastaria.
A afirmação diz que o comando será executado diretamente se a sessão remota já estiver ativa. Isso está incorreto, pois o Invoke-Command exige que o destino seja explicitamente informado, seja por -ComputerName ou -Session. Sem esses parâmetros, o comando roda localmente. Portanto, a assertiva é falsa.
Sempre que vir Invoke-Command, verifique se há -ComputerName ou -Session. Se não houver, a execução é local. Essa é uma pegadinha clássica em provas de PowerShell.
Gabarito: letra E (ERRADO).
Link permanente: /questoes/ce418277