PowerShell para iniciantes

Ao trabalhar com o PowerShell, a primeira coisa que encontramos são os comandos (Cmdlets).
A chamada do comando fica assim:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Ajuda

A ajuda no PowerShell é acessada usando o comando Get-Help. Um dos parâmetros pode ser especificado: exemplo, detalhado, completo, online, showWindow.

Get-Help Get-Service -full retornará a descrição completa da operação do comando Get-Service
Get-Help Get-S* mostrará todos os comandos e funções disponíveis começando com Get-S*

Também há documentação detalhada no site oficial da Microsoft.

Aqui está um exemplo de ajuda para o comando Get-Evenlog

PowerShell para iniciantes

Se os parâmetros estiverem entre colchetes [], eles são opcionais.
Ou seja, neste exemplo, é necessário o nome do próprio log e o nome do parâmetro Não. Se o tipo de parâmetro e seu nome estiverem entre colchetes, esse parâmetro será opcional.

Se você observar o parâmetro EntryType, poderá ver os valores que estão entre colchetes. Para este parâmetro, podemos usar apenas valores predefinidos entre chaves.

Podemos ver informações sobre se o parâmetro é obrigatório na descrição abaixo no campo Obrigatório. No exemplo acima, o atributo After é opcional porque Required está definido como false. Em seguida, vemos o campo Posição oposto que diz Nomeado. Isso significa que você pode se referir ao parâmetro apenas pelo nome, ou seja:

Get-EventLog -LogName Application -After 2020.04.26

Como o parâmetro LogName tinha o número 0 em vez de Named, isso significa que podemos nos referir ao parâmetro sem um nome, mas especificando-o na sequência desejada:

Get-EventLog Application -After 2020.04.26

Vamos supor esta ordem:

Get-EventLog -Newest 5 Application

aliás

Para que possamos usar os comandos usuais do console no PowerShell, existem aliases (Alias).

Um alias de exemplo para o comando Set-Location é cd.

Ou seja, ao invés de chamar o comando

Set-Location “D:”

podemos usar

cd “D:”

HISTÓRIA

Para ver o histórico de chamadas de comando, você pode usar Get-History

Execute o comando do histórico Invoke-History 1; Invocar Histórico 2

Apagar o histórico

Pipeline

Um pipeline no powershell é quando o resultado da primeira função é passado para a segunda. Aqui está um exemplo usando o pipeline:

Get-Verb | Measure-Object

Mas para entender melhor o pipeline, vamos dar um exemplo mais simples. tem uma equipe

Get-Verb "get"

Se chamarmos a ajuda Get-Help Get-Verb -Full, veremos que o parâmetro Verb aceita a entrada pipline e ByValue é escrito entre colchetes.

PowerShell para iniciantes

Isso significa que podemos reescrever Get-Verb "get" para "get" | GetVerb.
Ou seja, o resultado da primeira expressão é uma string e ela é passada para o parâmetro Verb do comando Get-Verb via pipline input por valor.
A entrada do pipline também pode ser ByPropertyName. Neste caso, passaremos um objeto que possui uma propriedade com nome semelhante a Verb.

Variáveis

As variáveis ​​não são fortemente tipadas e são especificadas com um $ na frente

$example = 4

O símbolo > significa colocar os dados em
Por exemplo, $exemplo > Arquivo.txt
Com esta expressão, colocaremos os dados da variável $example em um arquivo
O mesmo que Set-Content -Value $example -Path File.txt

Arrays

Inicialização da matriz:

$ArrayExample = @(“First”, “Second”)

Inicialização de matriz vazia:

$ArrayExample = @()

Obtendo valor por índice:

$ArrayExample[0]

Obtenha toda a matriz:

$ArrayExample

Adicionando um elemento:

$ArrayExample += “Third”

$ArrayExample += @(“Fourth”, “Fifth”)

Classificar por:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Mas a própria matriz permanece inalterada com essa classificação. E se quisermos que a matriz tenha dados classificados, precisamos atribuir os valores classificados:

$ArrayExample = $ArrayExample | Sort

Não há como remover um elemento de uma matriz no PowerShell, mas você pode fazer assim:

$ArrayExample = $ArrayExample | where { $_ -ne “First” }

$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }

Removendo uma matriz:

$ArrayExample = $null

Loops

Sintaxe do loop:

for($i = 0; $i -lt 5; $i++){}

$i = 0
while($i -lt 5){}

$i = 0
do{} while($i -lt 5)

$i = 0
do{} until($i -lt 5)

ForEach($item in $items){}

Saia do loop de interrupção.

Ignore o elemento continue.

Declarações Condicionais

if () {} elseif () {} else

switch($someIntValue){
  1 { “Option 1” }
  2 { “Option 2” }
  default { “Not set” }
}

função

Definição de função:

function Example () {
  echo &args
}

Lançamento da função:

Example “First argument” “Second argument”

Definindo argumentos em uma função:

function Example () {
  param($first, $second)
}

function Example ($first, $second) {}

Lançamento da função:

Example -first “First argument” -second “Second argument”

Exceção

try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}

Fonte: habr.com

Adicionar um comentário