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
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
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.
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