Dominando PowerShell: Guia para Iniciantes de Scripting Poderoso
Vamos começar a aprender lições de PowerShell. Primeiro, aprenderemos:
O que é PowerShell?
Windows PowerShell é um motor de automação orientado a objetos e linguagem de scripting. É projetado principalmente para profissionais de TI e administradores de sistema para controlar e automatizar a administração do Windows OS e outros aplicativos. Ele fornece novos conceitos atraentes para estender o conhecimento que você adquiriu e scripts que criou nos ambientes Windows Command Prompt e Windows Script Host.
Ele combina a flexibilidade de scripting, velocidade de linha de comando e o poder de uma ferramenta de administração baseada em GUI. Permite resolver problemas eficientemente ajudando administradores de sistema a eliminar horas de trabalho manual futuro. Passaremos por todos os aspectos importantes que você deve conhecer para aprender PowerShell.
Neste tutorial de PowerShell para iniciantes, você aprenderá os fundamentos do PowerShell como:
- O que é PowerShell?
- Por que Usar PowerShell?
- Histórico do PowerShell
- Recursos do PowerShell
- Como iniciar o PowerShell
- Cmdlet do PowerShell
- Cmdlet vs Comando:
- Tipos de Dados do PowerShell:
- Variáveis Especiais
- Scripts do PowerShell
- Primeiro Script PowerShell
- O que é PowerShell ISE?
- Conceitos do PowerShell
- PowerShell vs Command Prompt
- Aplicações do PowerShell
Este é um guia completo para fundamentos de scripting PowerShell… vamos começar!
Por que Usar PowerShell?
Aqui estão alguns motivos importantes para usar PowerShell:
- PowerShell oferece uma experiência de linha de comando bem integrada para o sistema operacional
- PowerShell permite acesso completo a todos os tipos no framework .NET
- Confiado por administradores de sistema.
- PowerShell é uma maneira simples de manipular componentes de servidor e workstation
- É voltado para administradores de sistema criando uma sintaxe mais fácil
- PowerShell é mais seguro do que executar VBScript ou outras linguagens de scripting
Histórico do PowerShell
A primeira versão 1.0 do PowerShell foi lançada em 2006. Hoje, o PowerShell está na versão 7.2. Conforme os anos e versões passaram, as capacidades e ambientes de hospedagem do PowerShell cresceram significativamente.
Veja o Histórico do PowerShell por Versão:
- PowerShell versão 1 suportava administração local do Windows Server 2003
- PowerShell 2.0 foi integrado com Windows 7 e Windows Server 2008 R2. Esta versão suporta remoting e aprimora as capacidades do PowerShell como transações, jobs em background, eventos, debugging, etc.
- PowerShell 3.0 foi lançado como parte interna do Windows Management Framework. Foi instalado no Windows 8 e Windows Server 2012. Você pode adicionar jobs agendados, conectividade de sessão, carregamento automático de módulos, etc.
- PowerShell 4.0 foi enviado com Windows 8.1 e Windows Server 2012 R2. Nesta versão adicionou suporte para configuração de estado desejado, debugging aprimorado, diagnósticos de rede.
- PowerShell 5.0 foi lançado como parte interna do Windows Management Framework 5. Os recursos oferecidos nesta versão são debugging remoto, definições de classe, enumerações .NET, etc.
- PowerShell 7.2 foi lançado. É construído no .NET 6.0. Esta versão oferece novos operadores, visualização de erro simplificada e dinâmica, notificações automáticas de nova versão, etc.
Recursos do PowerShell
- PowerShell Remoting: PowerShell permite que scripts e cmdlets sejam invocados em uma máquina remota.
- Background Jobs: Ajuda a invocar script ou pipeline assincronamente. Você pode executar seus jobs tanto na máquina local quanto em múltiplas máquinas operadas remotamente.
- Transações: Habilita cmdlet e permite que desenvolvedores realizem
- Eventos: Este comando ajuda você a ouvir, encaminhar e agir em eventos de gerenciamento e sistema.
- Transferência de Arquivos de Rede: PowerShell oferece suporte nativo para transferência de arquivos priorizada, assíncrona, throttled, entre máquinas usando a tecnologia Background Intelligent Transfer Service (BITS).
Como Iniciar o PowerShell
Agora neste tutorial de script PowerShell, aprenderemos como iniciar o PowerShell no Windows OS.
PowerShell vem pré-instalado em todas as versões mais recentes do Windows. Precisamos iniciar o PowerShell para isso precisamos seguir os passos dados:
Passo 1) Procure por PowerShell no Windows. Selecione e Clique

Passo 2) Janela do PowerShell Abre

Cmdlet do PowerShell
Um cmdlet, também chamado de Command let, é um comando leve usado no ambiente PowerShell baseado em Windows. O PowerShell invoca esses cmdlets no prompt de comando. Você pode criar e invocar comandos cmdlet usando APIs do PowerShell.
Cmdlet vs. Comando:
Cmdlets são diferentes de comandos em outros ambientes de command-shell das seguintes maneiras:
- Cmdlets são objetos de classe .NET Framework. Não podem ser executados separadamente
- Cmdlets podem ser construídos a partir de apenas algumas dezenas de linhas de código
- Parsing, formatação de saída e apresentação de erro não são tratados por cmdlets
- Cmdlets funcionam com objetos. Então stream de texto e objetos não podem ser passados como saída para pipeline
- Cmdlets são baseados em registro, então processam um único objeto por vez
A maior parte da funcionalidade do PowerShell vem de Cmdlets que estão sempre no formato verbo-substantivo e não no plural. Além disso, Cmdlets retornam objetos, não texto. Um cmdlet é uma série de comandos, que é mais de uma linha, armazenada em um arquivo de texto com extensão .ps1.
Um cmdlet sempre consiste em um verbo e um substantivo, separados por hífen. Alguns dos verbos usados para você aprender PowerShell são:
- Get — Para obter algo
- Start — Para executar algo
- Out — Para emitir algo
- Stop — Para parar algo que está rodando
- Set — Para definir algo
- New — Para criar algo
Comandos PowerShell
A seguir está uma lista de comandos importantes do PowerShell:
Get-Help: Ajuda sobre comandos e tópicos do PowerShell
Exemplo: Exibir informações de ajuda sobre o comando Format-Table
Get-Help Format-Table
Get-Command: Obter informações sobre qualquer coisa que pode ser invocada
Exemplo de Script PowerShell: Gerar uma lista de cmdlets, funções instaladas na sua máquina
Get-Command
Get-Service: Encontra todos os cmdlets com a palavra 'service' neles.
Exemplo: Obter todos os serviços que começam com "vm"
Get-Service "vm*"
Get-Member: Mostra o que pode ser feito com um objeto
Exemplo: Obter membros dos processos vm.
Get-Service "vm*" | Get-Member
Outros Comandos:
- Get Module Mostra pacotes de comandos
- Get Content Este cmdlet pode pegar um arquivo e processar seu conteúdo e fazer algo com ele
- Get- get Encontra todos os cmdlets começando com a palavra 'get-'
Exemplo: Criar uma Pasta
New-Item -Path 'X:\Guru99' -ItemType Directory
Tipos de Dados do PowerShell:
Tipos de Dados do PowerShell
Variáveis Especiais
| Variável Especial | Descrição |
|---|---|
| $Error | Um array de objetos de erro que exibe os erros mais recentes |
| $Host | Exibe o nome da aplicação de hospedagem atual |
| $Profile | Armazena o caminho completo de um perfil de usuário para o shell padrão |
| $PID | Armazena o identificador do processo |
| $PSUICulture | Contém o nome da cultura de UI atual |
| $NULL | Contém valor vazio ou NULL |
| $False | Contém valor FALSO |
| $True | Contém valor VERDADEIRO |
Scripts do PowerShell
Scripts do PowerShell são armazenados em arquivo .ps1. Por padrão, você não pode executar um script apenas clicando duas vezes no arquivo. Isso protege seu sistema de danos acidentais. Para executar um script:
Passo 1: clique com botão direito e clique "Run with PowerShell."

Além disso, existe uma política que restringe a execução de scripts. Você pode ver esta política executando o comando Get-ExecutionPolicy.
Você obterá uma das seguintes saídas:
- Restricted— Nenhum script é permitido. Esta é a configuração padrão, então será exibida na primeira vez que você executar o comando.
- AllSigned— Você pode executar scripts assinados por um desenvolvedor confiável. Com a ajuda desta configuração, um script pedirá confirmação de que você quer executá-lo antes de executar.
- RemoteSigned— Você pode executar seus scripts ou scripts assinados por um desenvolvedor confiável.
- Unrestricted— Você pode executar qualquer script que quiser executar
Passos para Alterar Política de Execução
Passo 1) Abra um prompt PowerShell elevado. Clique com botão direito no PowerShell e "Run as Administrator"

Passo 2) Digite os seguintes comandos
- Get-ExecutionPolicy
- Set-executionpolicy unrestricted
- Digite Y no prompt
- Get-ExecutionPolicy

Primeiro Script PowerShell
No bloco de notas escreva o seguinte comando
Write-Host "Hello, Guru99!"
Scripts PowerShell têm extensão ps1. Salve o arquivo como FirstScript.ps1

No PowerShell, chame o script usando o comando
& "X:\FirstScript.ps1"
O que é PowerShell ISE?
O Windows PowerShell Integrated Scripting Environment (ISE) é o editor padrão para Windows PowerShell. Neste ISE, você pode executar comandos, escrever testes e depurar scripts em um ambiente GUI baseado em janela. Você pode fazer edição multilinha, coloração de sintaxe, conclusão de tab, execução seletiva e muitas outras coisas.
O Windows PowerShell ISE também permite executar comandos em um painel de console. No entanto, também suporta painéis que você pode usar para visualizar simultaneamente o código-fonte do seu script e outras ferramentas que você pode conectar ao ISE.
Você pode até abrir múltiplas janelas de script ao mesmo tempo. Isso é especificamente útil quando você está depurando um script que usa funções definidas em outros scripts ou módulos.
PowerShell ISE
O mesmo script que criamos no bloco de notas, pode ser criado no ISE
- Cole o código no editor
- Salve o Script
- Use F5 para executar o script
- Observe a saída no console
Exemplo 2:
O seguinte código dará a Memória Virtual Livre na sua máquina
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
Conceitos do PowerShell
Agora neste tutorial PowerShell para iniciantes, aprenderemos sobre conceitos importantes do PowerShell:
Cmdlets Cmdlets são comandos internos escritos em linguagens .net como VB ou C#. Permite que desenvolvedores estendam o conjunto de cmdlets carregando e escrevendo PowerShell snap-ins. Funções Funções são comandos escritos na linguagem PowerShell. Podem ser desenvolvidas sem usar outras IDEs como Visual Studio e devs. Scripts Scripts são arquivos de texto no disco com extensão .ps1 Aplicações Aplicações são programas existentes do Windows. What if Diz ao cmdlet para não executar, mas dizer o que aconteceria se o cmdlet fosse executado. Confirm Instrui o cmdlet a solicitar confirmação antes de executar o comando. Verbose Fornece um nível mais alto de detalhe. Debug Instrui o cmdlet a fornecer informações de debugging. ErrorAction Instrui o cmdlet a realizar uma ação específica quando ocorre um erro. Ações permitidas: continue, stop, silently-continue e inquire. ErrorVariable Especifica a variável que contém informações de erro. OutVariable Diz ao cmdlet para usar uma variável específica para manter a informação de saída. OutBuffer Instrui o cmdlet a manter o número específico de objetos antes de chamar o próximo cmdlet no pipeline.Vantagens de Usar Script PowerShell
- Scripts PowerShell são realmente poderosos e podem fazer muita coisa em poucas linhas.
- Variáveis são declaradas na forma $<variável>
- Variáveis podem ser usadas para manter a saída de comando, objetos e valores.
- "Tipo" de uma variável não precisa ser especificado.
PowerShell vs. Command Prompt
| PowerShell | Command Prompt |
|---|---|
| PowerShell integra profundamente com o Windows OS. Oferece interface de linha de comando interativa e linguagem de scripting. | Command Prompt é uma interface de linha de comando padrão fornecida pela Microsoft. É uma aplicação win32 simples que pode interagir e falar com qualquer objeto win32 no sistema operacional Windows. |
| PowerShell usa o que são conhecidos como cmdlets. Podem ser invocados tanto no ambiente de runtime quanto em scripts de automação. | Nenhum recurso semelhante oferecido pelo command prompt. |
| PowerShell os considera como objetos. Então a saída pode ser passada como entrada para outros cmdlets através do pipeline. | Command Prompt ou mesmo o shell *nix, a saída gerada de um cmdlet não é apenas um stream de texto mas uma coleção de objetos. |
| O PowerShell é muito avançado em relação a recursos, capacidades e funcionamento interno. | Command prompt é muito básico. |
Aplicações do PowerShell
Hoje, o PowerShell tornou-se uma escolha ideal para administradores de TI pois facilita operações de gerenciamento e esforço em grandes redes corporativas. Por exemplo, vamos assumir que você está gerenciando uma grande rede que contém mais de quatrocentos servidores. Agora você quer implementar uma nova solução de segurança. Esta solução de segurança depende de um certo serviço que precisa rodar naqueles servidores.
Você certamente pode logar em cada servidor e ver se eles têm aquele serviço instalado e rodando ou não. No entanto, certamente leva muitos erros humanos pois sua equipe precisa gastar muito tempo neste processo não produtivo.
No entanto, se você usar PowerShell, então você poderia completar esta tarefa em apenas alguns minutos. Isso porque a operação inteira é feita com um único script que coleta informações sobre os serviços rodando nos servidores.
Resumo
- Windows PowerShell é motor de automação orientado a objetos e linguagem de scripting
- PowerShell oferece uma experiência de linha de comando bem integrada para o sistema operacional
- PowerShell primeira versão 1.0 foi lançada em 2006
- PowerShell permite scripts e cmdlets serem invocados em máquina remota
- PowerShell é pré-instalado em todas as versões mais recentes do Windows
- Um cmdlet é um comando leve usado no ambiente PowerShell baseado em Windows
- Get, Start, Out, Stop, Set, New são comandos importantes do PowerShell
- Boolean, Byte, Char, Decimal, Long são tipos de dados importantes do PowerShell
- $Error, $Host, $Profile, $PID, $PSUICulture, $NULL são algumas variáveis especiais usadas no PowerShell
- O Windows PowerShell Integrated Scripting Environment (ISE) é o editor padrão para PowerShell
- PowerShell integra profundamente com o Windows OS enquanto Command Prompt é uma interface de linha de comando padrão fornecida pela Microsoft
- PowerShell tornou-se uma escolha ideal para administradores de TI pois facilita operações de gerenciamento e esforço em grandes redes corporativas
Linguagem C
- Instalando Windows 10 IoT Core no Raspberry Pi 3 Model B+: Guia Passo a Passo
- Construa um Robô Evita-Obstáculos com Raspberry Pi – Guia para Iniciantes
- Roteadores CNC para Iniciantes: Domine o Mercado com Precisão Sem Esforço
- Instalando Visual Studio 2019 Community Edition para Desenvolvimento C# no Windows
- Fluxo de Controle em C#: IF, SWITCH, FOR, WHILE – Exemplos Práticos e Explicações
- Top 10 IDEs C# para Windows, macOS e Linux – Análise 2021
- Guia Definitivo das Melhores IDEs C para Windows, macOS e Linux (2024)
- Domine a Programação C: Tutorial Completo em PDF para Iniciantes
- Domine a Fresagem CNC: 4 Dicas Essenciais para Iniciantes
- Fabricação de Metal 101: Guia Claro para Iniciantes