Conhecendo os três principais pilares do PowerShell para administração do Windows – cmdlets, objetos e pipelines

Como combinar cmdlets para soluções mais complicadas

Os pipelines facilitam a combinação de cmdlets e a criação de soluções mais complexas sem a necessidade de escrever código difícil. Por exemplo, se você quiser encontrar um processo que está usando uma CPU alta e interrompê-lo, poderá usar o seguinte pipeline:

Get-Process |
Where-Object {$_.CPU -gt 50} |
Stop-Process
  • Where-Object {$_.CPU -gt 50}: filtra processos que têm mais de 50% de uso da CPU.
  • Stop-Process: interrompe o processo filtrado.

Esse funil permite automatizar tarefas com etapas claras e organizadas. Você também pode adicionar parâmetros para tornar a solução mais específica, como enviar um relatório dos resultados:

Get-Process |
Where-Object {$_.CPU -gt 50} |
Export-Csv -Path “HighCPUProcesses.csv”

Esse pipeline armazenará os dados do processo com uso intensivo de CPU em um arquivo CSV.

Automação com o PowerShell

Um cmdlet muito útil no PowerShell é Get-WindowsOptionalFeature. Esse cmdlet permite que os usuários exibam recursos opcionais disponíveis no Windows, incluindo seu status (habilitado ou desabilitado). Usando esses cmdlets, os administradores podem gerenciar e auditar facilmente os recursos existentes.

Para exibir todos os recursos opcionais no Windows, você pode executar o seguinte comando:

Get-WindowsOptionalFeature -Online

Este comando gerará uma lista de objetos que representam cada recurso opcional, completo com propriedades como FeatureName, State e uma descrição do recurso.

Etapas para criar um script simples para automação

Aqui estão as etapas para criar um script simples que usa Get-WindowsOptionalFeature para auditar e habilitar automaticamente determinados recursos:

  1. Execute o PowerShell com privilégios de administrador para garantir que você tenha as permissões necessárias.
  2. Use o cmdlet Get-WindowsOptionalFeature para obter uma lista de todos os recursos opcionais.
$features = Get-WindowsOptionalFeature -Online
  1. Por exemplo, se você quiser verificar se o recurso “TelnetClient” está habilitado ou não, você pode filtrar os resultados.
$telnetFeature = $features | Onde-Objeto { $_. Nome do recurso -eq 'TelnetClient' }
  1. Se o recurso não estiver ativo, você poderá habilitá-lo usando o cmdlet Enable-WindowsOptionalFeature.
if ($telnetFeature.State  -eq 'Disabled') {
Enable-WindowsOptionalFeature -Online -FeatureName 'TelnetClient' -All
Write-Host “TelnetClient feature has been enabled.”
} else {
Write-Host “TelnetClient feature is now active.”
}
  1. Salve esse script como um arquivo .ps1, por exemplo, EnableTelnet.ps1, e execute-o no PowerShell.

Últimos artigos