PowerShell para iniciantes

Ao trabalhar com PowerShell, a primeira coisa que encontramos são os comandos (Cmdlet).
A chamada do comando se parece com isso:

Verbo-Nome -Parâmetro1 TipoValor1 -Parâmetro2 TipoValor2[]

Ajuda

A chamada de ajuda no PowerShell é feita através do comando Get-Help. Você pode especificar um dos parâmetros: example, detailed, full, online, showWindow.

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

Além disso, no site oficial da Microsoft, há documentação detalhada.

Aqui está um exemplo de ajuda sobre o comando Get-EventLog

PowerShell para iniciantes

Se os parâmetros estiverem entre colchetes [], eles são opcionais.
Ou seja, neste exemplo, o nome do log é obrigatório, enquanto o nome do parâmetro não é. Se o tipo do parâmetro e seu nome estiverem entre parênteses juntos, então esse parâmetro é opcional.

Se olharmos para o parâmetro EntryType, veremos valores que estão entre chaves. Para este parâmetro, podemos usar apenas valores pré-definidos entre chaves.

A informação sobre se um parâmetro é obrigatório pode ser vista na descrição abaixo no campo Required. No exemplo acima, o atributo After é opcional, pois ao lado de Required está o valor false. Em seguida, vemos o campo Position, ao lado do qual está escrito Named. Isso indica que o parâmetro pode ser acessado apenas pelo nome, ou seja:

Get-EventLog -LogName Application -After 2020.04.26

Como o parâmetro LogName, em vez de Named, foi especificado como número 0, significa que podemos acessar o parâmetro sem nome, indicando-o na ordem correta:

Get-EventLog Application -After 2020.04.26

Suponhamos essa ordem:

Get-EventLog -Newest 5 Application

Alias

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

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

Ou seja, em vez de chamar o comando

Set-Location “D:”

podemos usar

cd “D:”

Histórico

Para visualizar o histórico de chamadas de comandos, você pode usar Get-History

Executar o comando do histórico Invoke-History 1; Invoke-History 2

Limpar histórico Clear-History

Pipeline

O pipeline no PowerShell é quando o resultado da execução da primeira função é passado para a segunda. Aqui está um exemplo de uso do pipeline:

Get-Verb | Measure-Object

Mas para entender melhor o pipeline, vamos pegar um exemplo mais simples. Há o comando

Get-Verb "get"

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

PowerShell para iniciantes

Isso significa que podemos reescrever Get-Verb "get" como "get" | Get-Verb.
Ou seja, o resultado da primeira expressão é uma string e ela é passada para o parâmetro Verb do comando Get-Verb através da entrada pipelined por valor.
Além disso, a entrada pipelined pode ser ByPropertyName. Nesse caso, estaremos passando um objeto que possui uma propriedade com nome semelhante a Verb.

Variáveis

Variáveis não são tipadas rigidamente e são definidas com um símbolo $ na frente.

$example = 4

O símbolo > significa colocar dados em
Por exemplo, $example > File.txt
Com essa expressão, vamos colocar os dados da variável $example no arquivo.
De forma semelhante ao comando Set-Content -Value $example -Path File.txt

Arrays

Inicialização de um array:

$ArrayExample = @("First", "Second")

Inicialização de um array vazio:

$ArrayExample = @()

Obtendo valor pelo índice:

$ArrayExample[0]

Obter todo o array:

$ArrayExample

Adicionando um elemento:

$ArrayExample += "Third"

$ArrayExample += @("Fourth", "Fifth")

Ordenação:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Mas o array em si permanece inalterado com essa ordenação. E se quisermos que o array contenha dados ordenados, precisamos atribuir os valores ordenados:

$ArrayExample = $ArrayExample | Sort

Na verdade, não há operação de remoção de elementos de um array em PowerShell, mas podemos fazer isso assim:

$ArrayExample = $ArrayExample | where { $_ -ne "First" }

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

Removendo o array:

$ArrayExample = $null

Loops

Sintaxe dos loops:

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){}

Saída do loop break.

Pular item continue.

Declarações Condicionais

if () {} elseif () {} else

switch($someIntValue){
  1 { "Opção 1" }
  2 { "Opção 2" }
  default { "Não definido" }
}

Função

Definição de função:

function Example () {
  echo &args
}

Executar função:

Example "Primeiro argumento" "Segundo argumento"

Definição de argumentos na função:

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

function Example ($first, $second) {}

Executar função:

Example -first "Primeiro argumento" -second "Segundo argumento"

Exceção

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

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster