PowerShell per i principianti

Quandu travaglia cù PowerShell, a prima cosa chì scontru hè cumandamenti (Cmdlets).
A chjama di cumanda s'assumiglia cusì:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Aiutu

L'aiutu in PowerShell hè accessu cù u cumandimu Get-Help. Unu di i paràmetri pò esse specificatu: esempiu, detallatu, full, online, showWindow.

Get-Help Get-Service -full restituverà a descrizzione completa di l'operazione di u cumandimu Get-Service
Get-Help Get-S* mostrarà tutti i cumandamenti è e funzioni dispunibili chì cumincianu cù Get-S*

Ci hè ancu una documentazione dettagliata nantu à u situ ufficiale di Microsoft.

Eccu un esempiu di aiutu per u cumandimu Get-Evenlog

PowerShell per i principianti

Se i paràmetri sò chjusi in parentesi quadrate [], allora sò opzionali.
Questu hè, in questu esempiu, u nome di u logu stessu hè necessariu, è u nome di u paràmetru Innò. Se u tipu di paràmetru è u so nome sò chjusi in parentesi, allora stu paràmetru hè facultativu.

Se guardate u paràmetru EntryType, pudete vede i valori chì sò chjusi in parentesi curly. Per stu paràmetru, pudemu usà solu valori predefiniti in parentesi curly.

L'infurmazione nantu à se u paràmetru hè necessariu pò esse vistu in a descrizzione sottu in u campu Obligatu. In l'esempiu sopra, l'attributu After hè facultativu perchè Required hè impostatu à false. Dopu, vedemu u campu di Posizione oppostu chì dice Named. Questu significa chì pudete riferite à u paràmetru solu per nome, vale à dì:

Get-EventLog -LogName Application -After 2020.04.26

Siccomu u paràmetru LogName avia u numeru 0 invece di Named, questu significa chì pudemu riferite à u paràmetru senza nome, ma specificendu in a sequenza desiderata:

Get-EventLog Application -After 2020.04.26

Assumimu questu ordine:

Get-EventLog -Newest 5 Application

Alias

Per pudè usà i cumandamenti di solitu da a cunsola in PowerShell, ci sò alias (Alias).

Un alias esempiu per u cumandamentu Set-Location hè cd.

Questu hè, invece di chjamà u cumandamentu

Set-Location “D:”

pudemu usà

cd “D:”

Storia

Per vede a storia di e chjama di cumandamentu, pudete aduprà Get-History

Eseguite cumanda da a storia Invoke-History 1; Invoca a Storia 2

Chjara-Storia

Pipeline

Un pipeline in powershell hè quandu u risultatu di a prima funzione hè passatu à a seconda. Eccu un esempiu cù u pipeline:

Get-Verb | Measure-Object

Ma per capisce megliu u pipeline, facemu un esempiu più simplice. Avete una squadra

Get-Verb "get"

Sè vo chjamate u Get-Help Get-Verb -Full aiutu, allura vi vede chì u paràmetru Verb pipline input è ByValue hè scrittu in parentesi.

PowerShell per i principianti

Stu significa chi si pò riscriviri Get-Verb "get" à "get" | GetVerb.
Questu hè, u risultatu di a prima espressione hè una stringa è hè passata à u paràmetru Verbu di u cumandamentu Get-Verb via pipline input by value.
Ancu l'input di pipline pò esse ByPropertyName. In questu casu, avemu da passà un ughjettu chì hà una pruprietà cù un nome simili Verbu.

Variables

Variabili ùn sò micca forti tipati è sò specificati cù un $ in fronte

$example = 4

U simbulu> significa mette i dati in
Per esempiu, $example> File.txt
Cù sta espressione, mettemu i dati da a variàbile $example in un schedariu
Stessa cum'è Set-Content -Value $example -Path File.txt

Matrici

Inizializazione di l'array:

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

Inizializazione di array vacu:

$ArrayExample = @()

Obtention de la valeur par indice :

$ArrayExample[0]

Ottene tutta l'array:

$ArrayExample

Aghjunghje un elementu:

$ArrayExample += “Third”

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

Ordina:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Ma l'array stessu resta invariatu cù questa classificazione. È se vulemu chì l'array hà datu ordinati, allora avemu bisognu di assignà i valori ordenati:

$ArrayExample = $ArrayExample | Sort

Ùn ci hè manera di sguassà un elementu da un array in PowerShell, ma pudete fà cusì:

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

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

Eliminazione di un array:

$ArrayExample = $null

Buci

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

Esci da u ciclu di pausa.

Saltate l'elementu cuntinuu.

Dichjarazioni Cundiziunali

if () {} elseif () {} else

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

funzioni

Definizione di a funzione:

function Example () {
  echo &args
}

Lanciamentu di funzione:

Example “First argument” “Second argument”

Definizione di argumenti in una funzione:

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

function Example ($first, $second) {}

Lanciamentu di funzione:

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

Exception

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

Source: www.habr.com

Add a comment