Windows Server 2025 / Noções básicas de PowerShell: objetos, pipelines e consultas
O PowerShell trabalha com objetos que contêm propriedades, em vez de apenas texto na tela. Combine comandos de consulta com Where-Object, Select-Object e Sort-Object para inspecionar informações do servidor usando condições explícitas.
Identifique a versão do PowerShell e consulte a ajuda
Estes exemplos somente leitura têm como alvo o Windows PowerShell 5.1 no Windows Server 2025. Uma sessão do PowerShell 7 instalada separadamente pode ter compatibilidade de módulo diferente. Contas restritas podem ver menos informações, mesmo quando uma consulta normalmente não requer elevação.
$PSVersionTable
Get-Command Get-Service
Get-Help Get-Service -Examples
Get-Command verifica disponibilidade; Get-Help explica o uso e os parâmetros. Se a ajuda local estiver incompleta, consulte a referência oficial de Get-Service para a mesma versão em vez de executar um script auxiliar baixado. Nomes verbo-substantivo também indicam a intenção: Get e Set realizam tipos diferentes de trabalho.
Inspecione propriedades antes de processar a saída
Um objeto de serviço tem um nome, nome de exibição, status e outras propriedades. Trabalhe com esses campos em vez de cortar texto de acordo com as posições das colunas exibidas. Veja Objetos do PowerShell e suas propriedades.
Get-Service | Select-Object -First 5
Get-Service | Get-Member
Get-Service -Name WinRM | Select-Object Name,DisplayName,Status
Get-Member distingue propriedades de métodos. Métodos podem executar ações, então não invoque um apenas porque seu nome parece útil. Esta lição consulta e filtra; não inicia nem interrompe serviços.
Conecte condições com um pipeline
A barra vertical passa objetos de um comando para o próximo. Este pipeline seleciona serviços em execução, ordena por nome e retorna colunas escolhidas. $_ denota o objeto atual:
Get-Service |
Where-Object { $_.Status -eq 'Running' } |
Sort-Object Name |
Select-Object Name,DisplayName,Status
Para comparação, mude apenas Running para Stopped, observe o conjunto de resultados diferente, e depois restaure Running. O filtro muda; os serviços reais não. -eq compara igualdade, -ne desigualdade, -gt verifica se um valor é maior que outro e -like compara com um padrão. Verifique os tipos de dados ao comparar valores numéricos em vez de assumir que o texto exibido se comporta como números.
Use variáveis e unidades explícitas
Esta consulta armazena objetos de disco fixo e calcula a capacidade e o espaço livre em gibibytes (GiB). A constante 1GB do PowerShell é 1.073.741.824 bytes; os nomes das colunas mostram essa unidade binária.
$labDisks = Get-CimInstance Win32_LogicalDisk -Filter 'DriveType=3'
$labDisks | Select-Object DeviceID,
@{Name='SizeGiB';Expression={[math]::Round($_.Size / 1GB,1)}},
@{Name='FreeGiB';Expression={[math]::Round($_.FreeSpace / 1GB,1)}}
A variável contém objetos de disco, não uma tabela formatada, e pode ser filtrada novamente. Reserve Format-Table para a exibição final destinada ao leitor. Usar esse cmdlet antes da exportação para CSV transforma os objetos em dados de formatação e perde a estrutura de coluna pretendida. Valores e contagem de linhas dependem dos discos reais.
Mantenha consultas e alterações distintas
- Use Get-Command e Get-Help para identificar o comando e os parâmetros.
- Registre os valores atuais com comandos de consulta.
- Para um comando de alteração que suporta -WhatIf, examine a ação proposta.
- Avalie os efeitos operacionais e a recuperação separadamente da visualização.
- Mantenha um arquivo .ps1 legível e registre onde ele deve ser executado.
Um comando ausente pode significar um erro de digitação, módulo ausente ou versão diferente do PowerShell; não é o mesmo que acesso negado. Não desative a política de execução e os recursos de segurança juntos para fazer um script rodar. Siga os requisitos de scripts e assinatura aprovados pela organização.




