Escolar Documentos
Profissional Documentos
Cultura Documentos
012powershell 111025093022 Phpapp01
012powershell 111025093022 Phpapp01
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;
.NET Framework 2.0 SP 1;
PowerShell 1.0 (ou 2.0).
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.
Use o comando: get-help
Uso de Parmetros
Parmetros adicionam informaes aos
comandos, tais informaes so utilizadas
internamente para execuo de sua rotina.
Exemplo:
Get-ChildItem -path c:\
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:
Isso um script... Show de bola
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);
Utiliza-se $ para acessar a varivel.
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
Variveis do Ambiente
Existem variveis criadas pelo ambiente que
armazenam informaes teis para
desenvolver scripts de qualidade.
Digite:
Dir env:
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;
Escopo define a visibilidade de uma varivel;
Podemos ter:
global;
local;
private;
script.
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
wellington -eq WELLINGTON
12 -eq "Hello"
12 -eq "000012"
"12" -eq 12
"12" -eq 012
"012" -eq 012
Exemplos
123 -lt 123.4
123 -lt "123.4"
123 -lt "123.5"
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.
Validando a Existncia de um
Elemento
Podemos usar para isso o operador -contains
1,2,3 -contains 5
Retorna:
False
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/Mastering-Powe
rShell.pdf