Tutorial Powershell para iniciantes: Aprenda scripts Powershell

Vamos comeรงar a aprender Powershell Lessnรณs. Primeiro, aprenderemos:

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

Inicie o PowerShell

Passo 2) A janela do Power Shell รฉ aberta

Inicie o PowerShell

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

Cmdlet vs. Comando

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

Cmdlet vs. Comando

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*"

Cmdlet vs. Comando

Obter- Membro: Mostre o que pode ser feito com um objeto

Exemplo: Obtenha membros dos processos VM.

Get-Service "vm*" | Get-Member

Cmdlet vs. Comando

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:

Cmdlet vs. Comando

Tipos de dados Powershell

Tipos de dados Powershell
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โ€.

Scripts do 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โ€

Scripts do PowerShell

Passo 2) Digite os seguintes comandos

  1. Get-ExecutionPolicy
  2. Polรญtica de execuรงรฃo de conjunto irrestrita
  3. Digite Y no prompt
  4. Get-ExecutionPolicy

Scripts do PowerShell

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

Primeiro script do PowerShell

No Powershell, chame o script usando o comando

& "X:\FirstScript.ps1"

Primeiro script do PowerShell

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.

PowerShell ISE

PowerShell ISE

O mesmo script que criamos no bloco de notas, pode ser criado no ISE

  1. Cole o cรณdigo no editor
  2. Salvar roteiro
  3. Use F5 para executar o script
  4. Observe a saรญda no console

PowerShell ISE

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 ISE

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

Resuma esta postagem com: