powershell-windows
Ajuda seu agente a usar o PowerShell no Windows. Ele ensina sobre erros comuns e como escrever comandos eficientes. Útil para automatizar tarefas no sistema.
O que ela faz
Este guia ensina como escrever scripts no PowerShell do Windows de forma correta e segura. Ele mostra regras importantes para evitar erros comuns, como usar parênteses corretamente, evitar caracteres especiais e verificar se algo existe antes de usá-lo.
Quando usar
- ✓Quando você está aprendendo a escrever scripts em PowerShell.
- ✓Se você está tendo erros inesperados nos seus scripts.
- ✓Para garantir que seus scripts funcionem bem em diferentes computadores.
Exemplo do que pedir para a IA
“Como eu uso parênteses corretamente em um script PowerShell com 'or'?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O guia explica as regras do PowerShell, como a necessidade de usar parênteses em certas situações e a importância de usar apenas caracteres simples (ASCII). Ele também mostra como verificar se uma variável tem um valor antes de tentar usá-la.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill powershell-windowsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/powershell-windows/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Padrões do PowerShell para Windows
Padrões e armadilhas críticas para o PowerShell do Windows.
1. Regras de Sintaxe de Operadores
CRÍTICO: Parênteses Obrigatórios
| ❌ Errado | ✅ Correto |
|---|---|
if (Test-Path "a" -or Test-Path "b") |
if ((Test-Path "a") -or (Test-Path "b")) |
if (Get-Item $x -and $y -eq 5) |
if ((Get-Item $x) -and ($y -eq 5)) |
Regra: Cada chamada de cmdlet DEVE estar entre parênteses ao usar operadores lógicos.
2. Restrição de Unicode/Emoji
CRÍTICO: Sem Unicode em Scripts
| Propósito | ❌ Não Use | ✅ Use |
|---|---|---|
| Sucesso | ✅ ✓ | [OK] [+] |
| Erro | ❌ ✗ 🔴 | [!] [X] |
| Aviso | ⚠️ 🟡 | [*] [WARN] |
| Info | ℹ️ 🔵 | [i] [INFO] |
| Progresso | ⏳ | [...] |
Regra: Use apenas caracteres ASCII em scripts do PowerShell.
3. Padrões de Verificação de Nulo
Sempre Verifique Antes de Acessar
| ❌ Errado | ✅ Correto |
|---|---|
$array.Count -gt 0 |
$array -and $array.Count -gt 0 |
$text.Length |
if ($text) { $text.Length } |
4. Interpolação de Strings
Expressões Complexas
| ❌ Errado | ✅ Correto |
|---|---|
"Value: $($obj.prop.sub)" |
Armazene em uma variável primeiro |
Padrão:
$value = $obj.prop.sub
Write-Output "Value: $value"
5. Tratamento de Erros
ErrorActionPreference
| Valor | Uso |
|---|---|
| Stop | Desenvolvimento (falhar rapidamente) |
| Continue | Scripts de produção |
| SilentlyContinue | Quando erros são esperados |
Padrão Try/Catch
- Não retorne dentro do bloco try
- Use finally para limpeza
- Retorne após try/catch
6. Caminhos de Arquivo
Regras de Caminho do Windows
| Padrão | Uso |
|---|---|
| Caminho literal | C:\Users\User\file.txt |
| Caminho de variável | Join-Path $env:USERPROFILE "file.txt" |
| Relativo | Join-Path $ScriptDir "data" |
Regra: Use Join-Path para segurança multiplataforma.
7. Operações de Array
Padrões Corretos
| Operação | Sintaxe |
|---|---|
| Array vazio | $array = @() |
| Adicionar item | $array += $item |
| Adicionar ArrayList | `$list.Add($item) |
8. Operações JSON
CRÍTICO: Parâmetro Depth
| ❌ Errado | ✅ Correto |
|---|---|
ConvertTo-Json |
ConvertTo-Json -Depth 10 |
Regra: Sempre especifique -Depth para objetos aninhados.
Operações de Arquivo
| Operação | Padrão |
|---|---|
| Ler | `Get-Content "file.json" -Raw |
| Escrever | `$data |
9. Erros Comuns
| Mensagem de Erro | Causa | Correção |
|---|---|---|
| "parameter 'or'" | Parênteses ausentes | Envolva cmdlets em () |
| "Unexpected token" | Caractere Unicode | Use apenas ASCII |
| "Cannot find property" | Objeto nulo | Verifique o nulo primeiro |
| "Cannot convert" | Incompatibilidade de tipo | Use .ToString() |
10. Modelo de Script
# Strict mode
Set-StrictMode -Version Latest
$ErrorActionPreference = "Continue"
# Paths
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
# Main
try {
# Logic here
Write-Output "[OK] Done"
exit 0
}
catch {
Write-Warning "Error: $_"
exit 1
}
Lembre-se: O PowerShell tem regras de sintaxe exclusivas. Parênteses, uso exclusivo de ASCII e verificações de nulo são inegociáveis.
Quando Usar
Esta habilidade é aplicável para executar o fluxo de trabalho ou as ações descritas na visão geral.
Limitações
- Use esta habilidade apenas quando a tarefa corresponder claramente ao escopo descrito acima.
- Não trate a saída como substituta para validação, testes ou revisão de especialistas específicos do ambiente.
- Pare e peça esclarecimentos se as entradas necessárias, permissões, limites de segurança ou critérios de sucesso estiverem ausentes.
Perguntas frequentes
Por que não posso usar emojis ou caracteres especiais nos scripts?
Scripts PowerShell podem ter problemas para entender caracteres que não são do inglês básico (ASCII). Usar apenas caracteres ASCII garante que seu script funcione em qualquer computador sem erros estranhos.
O que é 'verificar nulo' e por que é importante?
É como verificar se uma caixa está vazia antes de tentar tirar algo dela. Se você tentar usar algo que não existe (é 'nulo'), seu script pode quebrar. Verificar primeiro evita esses erros.
Como o PowerShell lida com erros?
Você pode dizer ao PowerShell para parar tudo quando um erro acontece ('Stop'), continuar mesmo com erros ('Continue') ou ignorar erros que você espera que aconteçam ('SilentlyContinue'). Também existe um jeito de tentar executar algo e capturar erros se eles ocorrerem ('Try/Catch').
Detalhes
Descrição original do autor
PowerShell Windows patterns. Critical pitfalls, operator syntax, error handling.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3868
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC