Automatizando tarefas no Windows com scripts em PowerShell
A automação de tarefas no Windows é uma poderosa ferramenta de automação que permite executar scripts para gerenciar arquivos, processos, redes e muito mais. Neste artigo, deixe o Windows mais esperto automatizando tarefas no Windows com scripts em PowerShell.
O que é o PowerShell?

O PowerShell é uma linguagem de script e uma linha de comando desenvolvida pela Microsoft, projetada para administração do sistema. Diferente do Prompt de Comando, o PowerShell permite interagir com o Windows de maneira programática, utilizando comandos chamados cmdlets.
Como criar um script em PowerShell
Para criar um script em PowerShell, siga os seguintes passos:
- Abra o Bloco de Notas ou um editor como o Visual Studio Code.
- Escreva os comandos do PowerShell no arquivo.
- Salve o arquivo com a extensão
.ps1
(exemplo:meuscript.ps1
). - Execute o script no PowerShell.
Executando scripts no PowerShell
Por padrão, o Windows pode bloquear a execução de scripts. Para permitir, abra o PowerShell como administrador e digite:
Set-ExecutionPolicy RemoteSigned
Agora, você pode executar seu script usando o seguinte comando:
.\meuscript.ps1
Exemplos de scripts de automação
1. Criando um backup de arquivos
Este script copia arquivos de uma pasta para outra:
$origem = "C:\Usuarios\SeuNome\Documentos"
$destino = "D:\Backup"
Copy-Item -Path $origem -Destination $destino -Recurse
2. Encerrando processos em execução
Se você quer automatizar o encerramento de um programa específico:
Stop-Process -Name "notepad" -Force
3. Renomeando múltiplos arquivos
Renomeia todos os arquivos .txt
de uma pasta adicionando a data atual ao nome:
Get-ChildItem "C:\Relatorios" -Filter "*.txt" | ForEach-Object {
Rename-Item $_.FullName -NewName ("$($_.BaseName)_$(Get-Date -Format yyyyMMdd).txt")
}
4. Monitorando uso de memória
Exibe os processos que estão consumindo mais memória RAM:
Get-Process | Sort-Object -Property WS -Descending | Select-Object -First 10
5. Excluindo arquivos antigos
Este script remove arquivos com mais de 30 dias de uma pasta específica:
Get-ChildItem "C:\Logs" -Recurse | Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-30)} | Remove-Item -Force
Veja também: Domine o Windows com os principais comandos
6. Enviando um email automático
Para enviar um e-mail automaticamente usando SMTP:
$SmtpServer = "smtp.seuprovedor.com"
$SmtpFrom = "seuemail@dominio.com"
$SmtpTo = "destinatario@dominio.com"
$Subject = "Teste de Email"
$Body = "Este é um email enviado via PowerShell"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("seuemail@dominio.com", "suasenha")
$SMTPClient.Send($SmtpFrom, $SmtpTo, $Subject, $Body)
7. Criando um relatório de espaço em disco
Gera um relatório do espaço livre em disco e salva em um arquivo:
Get-PSDrive -PSProvider FileSystem | Select-Object Name, @{Name='EspacoLivreGB';Expression={[math]::round($_.Free/1GB,2)}} | Export-Csv -Path "C:\RelatorioDisco.csv" -NoTypeInformation
8. Listando usuários do sistema
Este script exibe todos os usuários locais do computador:
Get-WmiObject -Class Win32_UserAccount | Select-Object Name, FullName, Status
9. Alterando senha de usuário
Altera a senha de um usuário específico:
$Username = "SeuUsuario"
$Password = ConvertTo-SecureString "NovaSenha" -AsPlainText -Force
Set-LocalUser -Name $Username -Password $Password
10. Limpando arquivos temporários
Remove arquivos temporários do sistema automaticamente:
Remove-Item -Path "C:\Windows\Temp\*" -Recurse -Force
Remove-Item -Path "$env:TEMP\*" -Recurse -Force
11. Verificando conectividade com a Internet
Este script testa a conexão com a internet enviando pacotes para o Google:
Test-Connection -ComputerName google.com -Count 4
12. Desligando o computador automaticamente
Este script desliga o computador após um determinado tempo (exemplo: 60 segundos):
Start-Sleep -Seconds 60
Stop-Computer -Force
Agendando scripts para execução automática
Para executar scripts automaticamente, você pode usar o Agendador de Tarefas do Windows:
- Abra o Agendador de Tarefas e clique em Criar Tarefa.
- Dê um nome à tarefa e selecione Executar com privilégios mais altos.
- Na aba Disparadores, escolha quando o script deve rodar.
- Na aba Ações, selecione Iniciar um programa e digite:
powershell.exe -File "C:\caminho\para\meuscript.ps1"
- Salve e teste a tarefa.
Conclusão
Os scripts em PowerShell são uma ferramenta poderosa para automatizar tarefas no Windows. Com um pouco de prática, você pode criar soluções personalizadas para otimizar seu fluxo de trabalho e aumentar sua produtividade.
Experimente os exemplos acima e explore mais comandos para tornar sua rotina no Windows ainda mais eficiente!
Gostou das nossas dicas sobre automatizando tarefas no Windows com scripts em PowerShell? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Sobre o Autor
0 Comentários