Tutorial de scripting do Windows PowerShell
A criação de scripts PowerShell permite automatizar tarefas repetitivas do Windows e Active Directory, desde a geração de relatórios até a atualização em massa de contas. Este tutorial começa com o básico: variáveis, pipeline, loops e funções, e depois avança para scripts que você pode executar hoje. Baixe o guia completo para instruções detalhadas sobre gerenciamento de contas e computadores AD, tarefas do sistema de arquivos e agendamento de scripts, para que você tenha scripts funcionais à mão quando precisar.
Baixe o tutorial de scripting de comandos PowerShell (PDF)
Como escrever um script PowerShell?
Um script PowerShell é um arquivo de texto simples salvo com a extensão .ps1. Você pode escrever um em qualquer editor de texto, embora a maioria das pessoas use o Visual Studio Code com a extensão PowerShell para realce de sintaxe, autocompletar e depuração integrada. Escreva seus comandos um por linha, salve o arquivo e execute-o.
Comece pequeno. Um script de duas linhas que obtém um valor e o imprime ensina o ciclo principal em que todo usuário do PowerShell confia: escrever, executar, ajustar. Adicione um comentário com um # no início de uma linha para indicar o que uma seção faz, pois scripts que você lê meses depois raramente se explicam sozinhos. Este tutorial constrói cada conceito sobre o anterior, para que um iniciante possa acompanhar do começo ao fim.
Quais são os comandos básicos do PowerShell?
Os comandos do PowerShell, chamados cmdlets, seguem um padrão verbo-substantivo que os torna fáceis de ler e adivinhar: Get-, Set-, New-, e Remove-. Um punhado de cmdlets cobre a maioria das tarefas do primeiro dia:
Get-Help: consulte a sintaxe e exemplos para qualquer cmdletGet-Command: lista todos os cmdlets disponíveis na sua sessãoGet-Member: veja as propriedades e métodos de um objetoGet-Process: visualizar processos em execuçãoGet-ChildItem: listar arquivos, pastas ou chaves do registro
Digite Get-Help <cmdlet name> -Examples sempre que precisar de uma revisão, pois a ajuda integrada do PowerShell cobre quase todos os cmdlets disponíveis. O cheat sheet os agrupa por tarefa, para que você não precise procurar no meio do script.
Como executar um script PowerShell?
Abra o PowerShell, navegue até a pasta do script e execute-o com .\scriptname.ps1. Se uma mensagem indicar que o script não pode ser carregado porque a execução de scripts está desativada, é a política de execução do PowerShell que está bloqueando, não o seu script.
A política de execução tem vários níveis, desde bloqueado até totalmente aberto, e escolher o errado pode deixá-lo preso ou expor seus sistemas. O guia explica cada nível, qual oferece o equilíbrio certo para a criação de scripts diária e o comando exato para configurá-lo com segurança.
Como você usa variáveis, loops e funções?
Variáveis armazenam valores com um $ prefixo, como $name = "Server01". Elas podem conter texto, números ou objetos inteiros, e o PowerShell determina o tipo para você.
Loops repetem uma ação sobre uma coleção. Um foreach loop é aquele que você usará mais frequentemente:
foreach ($user in $users) {
Write-Host $user.Name
}
As funções agrupam lógica reutilizável, para que você escreva uma vez e chame frequentemente:
function Get-Greeting($name) {
"Hello, $name"
}
Cada conceito recebe um exemplo curto e executável que você pode colar e adaptar.
O que você pode automatizar com PowerShell no Active Directory?
O módulo ActiveDirectory do PowerShell, instalado com RSAT (Remote Server Administration Tools), adiciona cmdlets criados especificamente para tarefas de diretório. Benefícios comuns:
- Relatório sobre contas inativas com
Search-ADAccount -AccountInactive - Encontre usuários em uma OU específica com
Get-ADUser -SearchBase - Redefinir senhas em massa com
Set-ADAccountPassword - Auditar a associação ao grupo com
Get-ADGroupMember
Os exemplos práticos neste tutorial mostram o padrão para cada um, para que você possa adaptá-los ao seu próprio ambiente sem começar com um script em branco.
Para equipes que preferem não manter scripts a longo prazo, ferramentas específicas cobrem o mesmo AD reporting e change tracking sem código personalizado.
Perguntas frequentes
Compartilhar em