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
- Início - 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ções Detalhadas |
---|---|
$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?
A 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
- A 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