Começando com PowerShell

Imagem para Começando com PowerShell

PromptPostado em  3 min de leitura

PowerShell é um prompt de comando do sistema operacional Windows. É construído em cima do framework .NET e totalmente orientado a objetos. É fortemente integrado com uma grande quantidade de componentes do Windows.

Instalação

A partir do Windows Server 2008 R2 e do Windows 7, o mesmo já vem instalado. Para as versões anteriores, pode ser baixada gratuitamente para instalação.

Cmdlet (command let)

A base do PowerShell são os cmdlets. A Microsoft fez várias estratégias de design na concepção de cmdlets no PowerShell. Primeiro é a capacidade de inferir facilmente nomes de cmdlet, ou pelo menos torná-los fáceis de se descobrir.

Os cmdlets usam o formato verbo-substantivo como em Get-Service, Stop-Service, ou Import-CSV. O verbo do nome do cmdlet indica a ação a ser executada com o substantivo. Normalmente cmdlets são usados ​​para solicitar informações usando o verbo Get, como é o caso com Get-Process ou Get-Content. Em muitos casos, essas combinações de verbo-substantivo pode ser adivinhado ou previsto por causa da convenção de nomenclatura padrão.

Alguns comandos básicos:

  • Get-Location: obter o diretório atual
  • Set-Location: alterar o diretório atual
  • Copy-Item: copiar arquivos
  • Remove-Item: remover um arquivo ou diretório
  • Move-Item: mover um arquivo
  • Rename-Item: renomear um arquivo
  • New-Item: criar um novo arquivo vazio ou diretório

Sintaxe

Abaixo temos a sintaxe básica para começar a brincar com o PowerShell. :)

Vírgula e ponto e vírgula

A vírgula é frequentemente usada para separar itens em uma lista. Considerando que o ponto e vírgula é usado para dividir ideias separadas.

$i=0
$Log = Get-EventLog -List
ForEach ($Item in $Log) {
  "{0,-30} {1,-20} {2,13}" -f `
  $Item.Log, $Item.OverflowAction, $Item.MaximumKilobytes; $i++
}

Escape

A crase representado como o caractere ` é o caractere de escape no PowerShell. Você pode usar esse caractere para guias exemplo de impressão `t ou escapar caracteres com um significado especial como o caractere $ como em `$ ou escapar citações como `".

Você também pode usar o caractere de crase para abranger as suas declarações em várias linhas, que às vezes pode vir a calhar.

Variáveis

A declaração de variáveis no PowerShell é semelhante ao do PHP, com o prefixo $.

$example = 'teste'
$age = 29

Aspas duplas e simples

Enquanto as asplas duplas interpretam o que está dentro, as aspas simples não interpretam e representam tudo de forma literal.

$example = 'ando'
write 'test$example'
# test$example
write 'test$example'
# testando

Operadores de comparação

  • Igual: -eq
  • Diferente: -ne
  • Maior do que: -gt
  • Menor do que: -lt
  • Maior igual a: -ge
  • Menor igual a: -le
  • Comparar com wilcards: -like ou -notlike
  • Comparar string com regex: -match ou -notmatch
  • Se um array contém um valor(pode ser string): -contains

Operadores lógicos

  • e: -and
  • ou: -or
  • ou exclusivo: -xor
  • negação: ! ou -nor

Executando os scripts

Por padrão, por uma questão de segurança, a possibilidade de execução de scripts Power Shell vem desabilitada. Para habilitar essa característica precisamos mudar a política de execução

No terminal do PowerShell, execute:

Get-ExecutionPolicy
// O retorno deverá ser Restricted

Para permitir a execução de scripts sem qualquer restrição, utilizaremos a regra Unrestricted, que permite executar todo e qualquer script PowerShell.

Set-ExecutionPolicy Unrestricted

Será exibida uma mensagem informando sobre a proteção quanto à execução de Scripts. Digite "S" e pressione Enter.

Agora com o commando Get-ExecutionPolicy, veremos que o retorno será Unrestricted. Assim, os scripts PowerShell já podem ser executados de forma irrestrita.

Existem outras regras além de Unrestricted e Restricted:

  • AllSigned – Todos os scripts devem ser assinados por alguém confiável.
  • Remote Signed – Todos os scripts que forem baixados da Internet devem ser assinados por alguém confiável.
  • Bypass - A responsabilidade da segurança fica totalmente a cargo do utilizador.

Conclusão

Esse foi apenas umas simples introdução. A maioria dos assuntos merecem um artigo para cada tópico, entao estaremos vendo mais sobre o asunto nos próximos artigos. Sempre é bom conhecer uma linguagem que possamos mexer com o sistema operacional.