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.
1 | $i=0 |
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 $
.
1 | $example = 'teste' |
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.
1 | $example = 'ando' |
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:
1 | Get-ExecutionPolicy |
Para permitir a execução de scripts sem qualquer restrição, utilizaremos a regra Unrestricted
, que permite executar todo e qualquer script PowerShell.
1 | 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.