Escolar Documentos
Profissional Documentos
Cultura Documentos
PowerShell
Sobre PowerShell
Nova gerao de Shell (famlia Microsoft Windows); Permite a execuo remota (Verso 2.0); Integra com .NET Framework;
Instalao
Windows Installer 3.1;
Poderosa Calculadora
Exemplo: 5 4 (5 + 9) * 4
5GB / 120MB
Comandos PowerShell
Os comandos internos do PowerShell so chamados de cmdlets. Os nomes dos comandos so compostos por um verbo seguido de - e uma ao. Digite no terminal: get-command
Auto Explicativo
Os comandos PowerShell foram desenvolvidos para exibir explicaes sobre os comandos e o comportamento de execuo dos mesmos.
Uso de Parmetros
Parmetros adicionam informaes aos comandos, tais informaes so utilizadas internamente para execuo de sua rotina.
Tipos de Parmetros
Existem parmetros que necessitam de valores e parmetros que so apenas usados internamente para execuo do algoritmo.
Get-ChildItem c:\windows -recurse -name
Criando Funes
A criao de funo simples e intuitiva, veja exemplo abaixo: Para criar:
function quickping {
ping -n 1 -w 100 $args
Criando Funes
Para chamar: quickping 127.0.0.1
Criando um Script
Crie um arquivo de texto simples (com notepad) na raiz de C:\temp com o nome teste.ps1 e edite o script abaixo:
Para executar
Primeiro temos que dar permisso: Set-ExecutionPolicy RemoteSigned Agora executar: C:\temp\teste.ps1
Variveis
Permite armazenar valores desconhecidos (para a fase de codificao); O tipo definido durante a execuo (baseado no valor armazenado);
Exemplo:
$amount = 120
$VAT = 0.19
# Calculate: $result = $amount * $VAT # Output result $result
Listando Variveis
Podemos listar as variveis que esto carregadas na memria, exemplo: Dir variable:list*
Test-Path variable:\lista
del variable:\lista
Comandos cmdlets
Clear-Variable;
Get-Variable;
New-Variable; Remove-Variable; Set-Variable.
New-Variable
New-Variable test -value 100 description "test variable with write-protection" -option ReadOnly
Variveis do Ambiente
Existem variveis criadas pelo ambiente que armazenam informaes teis para desenvolver scripts de qualidade.
Variveis de Ambiente
$env:windir
$env:OS = "Apple MacIntosh OS X $env:Teste = Reprovar Alunos, teste 1, 2, 3" del env:\windir
Escopo de Variveis
Variveis podem ter escopo;
Como usar
$private:b = 5;
$local:c = 9; $global:d = 3; $script:k = 1;
Tipos de Variveis
Para saber o tipo definido para a varivel: $variavel.GetType().Name
Definindo um Tipo
[Byte]$flag = 12
$flag.GetType().Name
DateTime
Argumentos
Altere script c:\temp\teste.ps1 conforme listagem abaixo: O nome: $args xxxx
Argumentos
Para executar o script:
meuScript Wellington Pinto de Oliveira
Acesso a um parametro
A varivel args uma coleo, para acessar um elemento: Oxxxx: $($args[0]) uuuu xxxxx
Argumentos
Para executar o script:
meuScript Wellington Pinto de Oliveira
Condies
Condies so definidas baseando-se em comparaes lgicas.
Exemplos
4 -eq 10
Exemplos
123 -lt 123.4
Condies
$a = 10
$a -gt 5
-not ($a -gt 5) # Shorthand: instead of -not "!" can also be used:
!($a -gt 5)
Combinando Condies
Podemos combinar condies para criar condies complexas. ( ($age -ge 18) -and ($sex -eq "m" ) ) Usamos operadores especiais, so chamados lgicos.
Retorna:
3
If-Else
Podemos usar a estrutura if-else para executar blocos de scritps baseado no resultado de uma condio condio.
If-Else
Exemplo
Exemplo
Exemplo
switch
O Switch permite a comparao de um valor com n possibilidades e inclusive pode-se utilizar operadores relacionais ou lgicos.
Exemplo
Exemplo
Case Sensitivity
Caractere Curinga
Regex
Loop
Um Loop um lao de repetio que pode ser utilizado para repetir n vezes um bloco de cdigo.
ForEach-Object
Chamando Mtodos
Get-Process notepad | ForEach-Object
{
$_.Kill() }
Exemplo
Foreach
Exemplo
Do...While
While
Saindo de um While
For
Referncia
WELTNER, Tobias. Mastering Powershell. Disponvel em: http://http://powershell.com/MasteringPowerShell.pdf