Tutorial Powershell para iniciantes: Aprenda scripts Powershell
O que รฉ PowerShell?
Windows PowerShell รฉ um mecanismo de automaรงรฃo orientado a objetos e uma linguagem de script. Ele foi projetado principalmente para profissionais de TI e administradores de sistema para controlar e automatizar a administraรงรฃo de Windows SO e outros aplicativos. Ele fornece novos conceitos atraentes para ampliar o conhecimento que vocรช adquiriu e os scripts que vocรช criou dentro do Windows Prompt de comando e Windows Ambientes de host de script.
Ele combina a flexibilidade de scripts, a velocidade da linha de comando e o poder de uma ferramenta administrativa baseada em GUI. Ele permite que vocรช resolva problemas de forma eficiente, ajudando o administrador do sistema a eliminar futuras horas de trabalho manual. Analisaremos todos os aspectos importantes que vocรช deve saber para aprender o PowerShell.
Este รฉ um guia completo sobre noรงรตes bรกsicas de script do Powershellโฆ vamos comeรงar!
Por que usar Powershell?
Aqui estรฃo alguns motivos importantes para usar o Powershell:
- Powershell oferece uma experiรชncia de linha de comando bem integrada para o sistema operacional
- PowerShell permite acesso completo a todos os tipos da estrutura .NET
- Confiรกvel pelos administradores do sistema.
- PowerShell รฉ uma maneira simples de manipular componentes de servidores e estaรงรตes de trabalho
- ร voltado para administradores de sistema, criando uma sintaxe mais fรกcil
- PowerShell รฉ mais seguro do que executar VBScript ou outras linguagens de script
Histรณria do PowerShell
A primeira versรฃo 1.0 do PowerShell foi lanรงada em 2006. Hoje, o PowerShell estรก na versรฃo 7.2. Com o passar do ano e da versรฃo, os recursos e os ambientes de hospedagem do PowerShell cresceram significativamente.
Vamos ver o histรณrico da versรฃo do Powershell:
- A versรฃo 1 do PowerShell suportava a administraรงรฃo local de Windows 2003 servidor
- PowerShell 2.0 foi integrado com Windows 7 e Windows Servidor 2008 R2. Esta versรฃo oferece suporte para comunicaรงรฃo remota e aprimora os recursos do PowerShell, como transaรงรตes, trabalhos em segundo plano, eventos, depuraรงรฃo, etc.
- PowerShell 3.0 foi lanรงado como uma parte interna do Windows quadro de gestรฃo. Foi instalado em Windows 8 e Windows Server 2012. Vocรช pode adicionar trabalhos agendados, conectividade de sessรฃo, carregamento automรกtico de mรณdulos, etc.
- PowerShell 4.0 foi enviado com Windows 8.1 e Windows Servidor 2012 R2. Nesta versรฃo foi adicionado suporte para configuraรงรฃo de estado desejado, depuraรงรฃo aprimorada e diagnรณstico de rede.
- PowerShell 5.0 foi lanรงado como parte interna do Windows estrutura de gerenciamento 5. Os recursos oferecidos nesta versรฃo sรฃo depuraรงรฃo remota, definiรงรตes de classe, enumeraรงรตes .NET, etc.
- PowerShell 7.2 foi lanรงado. Ele รฉ construรญdo em .NET 6.0. Esta versรฃo oferece novos operadores, visualizaรงรฃo de erros simplificada e dinรขmica, notificaรงรตes automรกticas de novas versรตes, etc.
A seguir neste tutorial de script do Powershell, aprenderemos sobre os recursos do Powershell.
Recursos do Powershell
- Remoรงรฃo do PowerShell: o PowerShell permite que scripts e cmdlets sejam invocados em uma mรกquina remota.
- Trabalhos em segundo plano: ajuda vocรช a invocar script ou pipeline de forma assรญncrona. Vocรช pode executar seus trabalhos na mรกquina local ou em vรกrias mรกquinas operadas remotamente.
- Transaรงรตes: habilita o cmdlet e permite que os desenvolvedores executem
- Tarde: Este comando ajuda vocรช a ouvir, encaminhar e agir em eventos de gerenciamento e do sistema.
- Transferรชncia de arquivos em rede: O Powershell oferece suporte nativo para transferรชncia de arquivos priorizada, assรญncrona e acelerada entre mรกquinas usando a tecnologia Background Intelligent Transfer Service (BITS).
Como iniciar o PowerShell
Agora, neste tutorial de script do Powershell, aprenderemos como iniciar o Powershell em Windows OS.
O PowerShell estรก prรฉ-instalado em todas as versรตes mais recentes do Windows. Precisamos iniciar o PowerShell, para isso precisamos seguir as etapas fornecidas:
Passo 1) Procure pelo PowerShell em Windows. Selecione e clique
Passo 2) A janela do Power Shell รฉ aberta
Cmdlet do PowerShell
Um cmdlet tambรฉm chamado de Command let รฉ um comando leve usado no ambiente PowerShell base do Windows. O PowerShell invoca esses cmdlets no prompt de comando. Vocรช pode criar e invocar o comando cmdlets usando APIS do PowerShell.
Cmdlet vs. Comando
Os cmdlets sรฃo diferentes dos comandos em outros ambientes de shell de comando das seguintes maneiras?
- Os cmdlets sรฃo Framework .NET objetos de classe Nรฃo podem ser executados separadamente
- Os cmdlets podem ser construรญdos a partir de apenas uma dรบzia de linhas de cรณdigo
- Anรกlise, formataรงรฃo de saรญda e apresentaรงรฃo de erros nรฃo sรฃo tratadas por cmdlets
- O processo de cmdlets funciona em objetos. Portanto, o fluxo de texto e os objetos nรฃo podem ser passados โโcomo saรญda para pipeline
- Os cmdlets sรฃo baseados em registros, pois processam um รบnico objeto por vez
A maior parte da funcionalidade do PowerShell vem do Cmdlet, que estรก sempre no formato verbo-substantivo e nรฃo no plural. Alรฉm disso, os objetos de retorno do Cmdlet nรฃo sรฃo texto. Um cmdlet รฉ uma sรฉrie de comandos, que tem mais de uma linha, armazenados em um arquivo de texto com extensรฃo .ps1.
Um cmdlet sempre consiste em um verbo e um substantivo, separados por um hรญfen. Alguns dos verbos usados โโpara vocรช aprender o PowerShell sรฃo:
- Get - Para conseguir algo
- Comeรงar - Para executar algo
- - Para produzir algo
- Dรช um basta โ Para parar algo que estรก em execuรงรฃo
- Conjunto - Para definir algo
- Novo - Para criar algo
comandos do PowerShell
A seguir estรก uma lista de comandos importantes do PowerShell:
Obter ajuda: Ajuda sobre comandos e tรณpicos do PowerShell
Exemplo: Exibir informaรงรตes de ajuda sobre o comando Format-Table
Get-Help Format-Table
Obter comando: Obtenha informaรงรตes sobre qualquer coisa que possa ser invocada
Exemplo de Script Powershell: Para gerar uma lista de cmdlets, funรงรตes instaladas em sua mรกquina
Get-Command
Obter serviรงo: Encontra todos os cmdlets com a palavra 'serviรงo'.
Exemplo: Obtenha todos os serviรงos que comeรงam com โvmโ
Get-Service "vm*"
Obter- Membro: Mostre o que pode ser feito com um objeto
Exemplo: Obtenha membros dos processos VM.
Get-Service "vm*" | Get-Member
Outros Comandos:
- Get Module Mostra pacotes de comandos
- Obter conteรบdo Este cmdlet pode pegar um arquivo, 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
Saรญda:
Tipos de dados Powershell

Variรกveis โโEspeciais
| Variรกvel Especial | Descriรงรฃo |
|---|---|
| $Erro | Uma matriz de objetos de erro que exibem os erros mais recentes |
| $Hospedeiro | Exibir o nome do aplicativo de hospedagem atual |
| $Perfil | Armazena o caminho completo de um perfil de usuรกrio para o shell padrรฃo |
| $ PID | Armazena o identificador do processo |
| $PSUICultura | Ele contรฉm o nome da cultura atual da UI. |
| $NULO | Contรฉm valor vazio ou NULL. |
| $Falso | Contรฉm valor FALSO |
| $Verdadeiro | Contรฉm valor VERDADEIRO |
Scripts do PowerShell
Os scripts Powershell sรฃo armazenados no arquivo .ps1. Por padrรฃo, vocรช nรฃo pode executar um script apenas clicando duas vezes em um arquivo. Isso protege seu sistema contra danos acidentais. Para executar um script:
Passo 1: clique com o botรฃo direito e clique em โExecutar com 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:
- Restritoโ Nenhum script รฉ permitido. Esta รฉ a configuraรงรฃo padrรฃo, portanto serรก exibida na primeira vez quando vocรช executar o comando.
- Tudo assinadoโ Vocรช pode executar scripts assinados por um desenvolvedor confiรกvel. Com a ajuda desta configuraรงรฃo, um script solicitarรก a confirmaรงรฃo de que vocรช deseja executรก-lo antes de executรก-lo.
- Assinado Remotoโ Vocรช pode executar seus scripts ou assinados por um desenvolvedor confiรกvel.
- sem restriรงรตesโ Vocรช pode executar qualquer script que desejar
Etapas para alterar a polรญtica de execuรงรฃo
Passo 1) Abra um prompt elevado do PowerShell. Clique com o botรฃo direito em PowerShell e โExecutar como administradorโ
Passo 2) Digite os seguintes comandos
- Get-ExecutionPolicy
- Polรญtica de execuรงรฃo de conjunto irrestrita
- Digite Y no prompt
- Get-ExecutionPolicy
Primeiro script do PowerShell
Em um bloco de notas escreva o seguinte comando
Write-Host "Hello, Guru99!"
Os scripts do PowerShell tรชm uma 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 processo de Windows O PowerShell Integrated Scripting Environment (ISE) รฉ o editor padrรฃo para Windows PowerShell. Neste ISE, vocรช pode executar comandos, testes de gravador e scripts de depuraรงรฃo em um ambiente GUI baseado em janela. Vocรช pode fazer ediรงรฃo multilinha, coloraรงรฃo de sintaxe, preenchimento de tabulaรงรฃo, execuรงรฃo seletiva e muitas outras coisas.
Windows O PowerShell ISE tambรฉm permite que vocรช execute comandos em um painel de console. No entanto, ele 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 vรกrias janelas de script ao mesmo tempo. Isto รฉ especificamente รบtil quando vocรช estรก depurando um script que usa funรงรตes definidas em outros scripts ou mรณdulos.
O mesmo script que criamos no bloco de notas, pode ser criado no ISE
- Cole o cรณdigo no editor
- Salvar roteiro
- Use F5 para executar o script
- Observe a saรญda no console
Amostra 2:
O cรณdigo a seguir fornecerรก o Free Memรณria virtual na sua mรกquina
Get-WmiObject -Class Win32_OperatingSystem โComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
PowerShell Concepts
Agora, neste tutorial do Powershell para iniciantes, aprenderemos sobre conceitos importantes do Powershell:
| Cmdlets | Cmdlet sรฃo comandos de construรงรฃo escritos em linguagens .net como VB ou C#. Ele permite que os desenvolvedores estendam o conjunto de cmdlets carregando e escrevendo snap-ins do PowerShell. |
| Funรงรตes | Funรงรตes sรฃo comandos escritos na linguagem PowerShell. Pode ser desenvolvido sem usar outro IDE como Visual Studio e desenvolvedores. |
| Scripts | Scripts sรฃo arquivos de texto em disco com extensรฃo .ps1 |
| Aplicaรงรตes | Os aplicativos sรฃo programas existentes do Windows. |
| E se | Diz ao cmdlet para nรฃo executar, mas para lhe dizer o que aconteceria se o cmdlet fosse executado. |
| Confirmar | Instrua o cmdlet a avisar antes de executar o comando. |
| Verboso | Fornece um nรญvel mais alto de detalhes. |
| depurar | Instrui o cmdlet a fornecer informaรงรตes de depuraรงรฃo. |
| Aรงรฃo de erro | Instrui o cmdlet a executar uma aรงรฃo especรญfica quando ocorre um erro. As aรงรตes permitidas continuam, param, silenciosamente - continuam e questionam. |
| Variรกvel de erro | Ele especifica a variรกvel que contรฉm informaรงรตes de erro. |
| Variรกvel externa | Diz ao cmdlet para usar uma variรกvel especรญfica para armazenar as informaรงรตes de saรญda |
| Buffer | Instrui o cmdlet a reter o nรบmero especรญfico de objetos antes de chamar o prรณximo cmdlet no pipeline. |
Vantagens de usar o script PowerShell
- Os scripts do PowerShell sรฃo realmente poderosos e podem fazer muitas coisas em menos linhas.
- As variรกveis โโsรฃo declaradas no formato $
- Variรกveis โโโโpodem ser usadas para armazenar a saรญda de comandos, objetos e valores.
- O โtipoโ de uma variรกvel nรฃo precisa ser especificado.
PowerShell vs. Prompt de comando
| PowerShell | Prompt de comando |
|---|---|
| O PowerShell integra-se profundamente com o Windows SO. Ele oferece uma interface de linha de comando interativa e linguagem de script. | Prompt de comando รฉ uma interface de linha de comando padrรฃo fornecida por Microsoft. ร um aplicativo win32 simples que pode interagir e conversar com qualquer objeto win32 no Windows sistema operacional. |
| O PowerShell usa o que รฉ conhecido como cmdlets. Ele pode ser invocado no ambiente de tempo de execuรงรฃo ou nos scripts de automaรงรฃo. | Nenhum desses recursos รฉ oferecido pelo prompt de comando. |
| O PowerShell os considera como objetos. Portanto, a saรญda pode ser passada como entrada para outros cmdlets por meio do pipeline. | Prompt de comando ou mesmo o shell *nix, a saรญda gerada a partir de um cmdlet nรฃo รฉ apenas um fluxo de texto, mas uma coleรงรฃo de objetos. |
| O PowerShell รฉ muito avanรงado em termos de recursos, capacidades e funcionamento interno. | O prompt de comando รฉ muito bรกsico. |
Aplicaรงรตes do Powershell
Hoje, o PowerShell tornou-se a escolha ideal para administradores de TI, pois facilita a operaรงรฃo e o esforรงo de gerenciamento em grandes redes corporativas. Por exemplo, vamos supor que vocรช esteja gerenciando uma grande rede que contรฉm mais de quatrocentos servidores. Agora vocรช deseja implementar uma nova soluรงรฃo de seguranรงa. Esta soluรงรฃo de seguranรงa depende de um determinado serviรงo que precisa ser executado nesses servidores.
Vocรช certamente pode fazer login em cada servidor e ver se eles tรชm esse serviรงo instalado e em execuรงรฃo ou nรฃo. No entanto, certamente sรฃo necessรกrios muitos erros humanos, pois sua equipe precisa gastar muito tempo nesse processo improdutivo.
No entanto, se vocรช usar o PowerShell, poderรก concluir esta tarefa em apenas alguns minutos. Isso porque toda a operaรงรฃo รฉ feita com um รบnico script que reรบne informaรงรตes sobre os serviรงos em execuรงรฃo nos servidores.
Resumo
- Windows PowerShell รฉ um mecanismo de automaรงรฃo orientado a objetos e uma linguagem de script
- Powershell oferece uma experiรชncia de linha de comando bem integrada para o sistema operacional
- A primeira versรฃo 1.0 do PowerShell foi lanรงada em 2006
- O PowerShell permite que scripts e cmdlets sejam invocados em uma mรกquina remota
- O PowerShell estรก prรฉ-instalado em todas as versรตes mais recentes do Windows
- Um cmdlet รฉ um comando leve usado no ambiente PowerShell base do Windows
- Get, Start, Out, Stop, Set, New sรฃo comandos importantes do PowerShell
- Boolean, Byte, Chat, Decimal, Decimal, Long sรฃo tipos de dados importantes do PowerShell
- $Erro. $Host, $Profile, $PID, $PSUICulture, $NULL sรฃo algumas variรกveis โโespeciais usadas no PowerShell
- O processo de Windows PowerShell Integrated Scripting Environment (ISE) รฉ o editor padrรฃo do PowerShell
- O PowerShell integra-se profundamente com o Windows SO, enquanto o Prompt de Comando รฉ uma interface de linha de comando padrรฃo fornecida por Microsoft
- O PowerShell tornou-se a escolha ideal para administradores de TI, pois facilita a operaรงรฃo e o esforรงo de gerenciamento em grandes redes corporativas














