PowerShell za početnike

Kada radimo s PowerShell-om, prvo na što naiđemo su komande (Cmdlet).
Poziv komande izgleda ovako:

Glagol-Imenica -Parametar1 TipVrijednosti1 -Parametar2 TipVrijednosti2[]

Pomoć

Pozivanje pomoći u PowerShell-u vrši se putem komande Get-Help. Možete navesti jedan od parametara: example, detailed, full, online, showWindow.

Get-Help Get-Service -full vraća potpun opis rada komande Get-Service
Get-Help Get-S* prikazuje sve dostupne komande i funkcije koje počinju s Get-S*

Također, na službenoj stranici Microsoft-a postoji detaljna dokumentacija.

Evo primjera pomoći za komandu Get-EventLog

PowerShell za početnike

Ako su parametri zaključani u kvadratne zagrade [], oni su opcionalni.
Dakle, u ovom primjeru samo naziv dnevnika je obavezan, dok naziv parametra nije. Ako su tip parametra i njegovo ime zajedno zaključani u zagrade, taj parametar je opcionalan.

Ako pogledamo na parametar EntryType, vidimo vrijednosti koje su zaključane u vitičaste zagrade. Za ovaj parametar možemo koristiti samo unaprijed definisane vrijednosti u vitičastim zagradama.

Informaciju o tome da li je parametar obavezan možemo vidjeti u opisu ispod u polju Required. U gornjem primjeru atribut After je opcionalan, jer je pored Required navedeno false. Zatim vidimo polje Position pored kojeg piše Named. To znači da se na parametar može obratiti samo po imenu, odnosno:

Get-EventLog -LogName Application -After 2020.04.26

Budući da je za parametar LogName umjesto Named navedena brojka 0, to znači da se na parametar možemo obratiti bez imenovanja, a navodeći ga u odgovarajućem redoslijedu:

Get-EventLog Application -After 2020.04.26

Pretpostavimo i takav redoslijed:

Get-EventLog -Newest 5 Application

Alias

Da bismo mogli koristiti poznate komande iz konzole u PowerShell-u, postoje aliasi (pseudonimi).

Primjer pseudonima za komandu Set-Location je cd.

Dakle, umjesto poziva komande

Set-Location “D:”

možemo koristiti

cd “D:”

Historija

Da bismo vidjeli historiju pozivanja komandi, možemo koristiti Get-History

Izvršiti komandu iz historije Invoke-History 1; Invoke-History 2

Očistiti historiju Clear-History

Cjevovod

Cjevovod u PowerShell-u je kada se rezultat izvršenja prve funkcije prenosi u drugu. Evo primjera korištenja cjevovoda:

Get-Verb | Measure-Object

Ali da bismo bolje razumjeli cjevovod, uzmimo jednostavniji primjer. Imao sam komandu

Get-Verb "get"

Ako pozovete pomoć Get-Help Get-Verb -Full, vidjet ćemo da parametar Verb prihvaća pipline input i u zagradama piše ByValue.

PowerShell za početnike

To znači da možemo prepisati Get-Verb «get» na «get» | Get-Verb.
Dakle, rezultat prvog izraza je string i on se prosljeđuje u parametar Verb komande Get-Verb preko pipline input prema vrijednosti.
Također, pipline input može biti ByPropertyName. U tom slučaju ćemo proslijediti objekt koji ima svojstvo s sličnim imenom Verb.

Varijable

Varijable nisu strogo tipizirane i postavljaju se s oznakom $ ispred.

$example = 4

Znak > označava pohranjivanje podataka u
Na primjer, $example > File.txt
Ovim izraza postavljamo podatke iz varijable $example u datoteku.
Slična je komandi Set-Content -Value $example -Path File.txt.

Nizovi

Inicijalizacija niza:

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

Inicijalizacija praznog niza:

$ArrayExample = @()

Dobivanje vrijednosti po indeksu:

$ArrayExample[0]

Dobiti cijeli niz:

$ArrayExample

Dodavanje elementa:

$ArrayExample += “Third”

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

Sortiranje:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Međutim, sam niz ostaje nepromijenjen prilikom takvog sortiranja. Ako želimo da niz sadrži sortirane podatke, potrebno je dodijeliti sortirane vrijednosti:

$ArrayExample = $ArrayExample | Sort

U osnovi, brisanje elementa iz niza u PowerShell-u ne postoji, ali ovo se može učiniti na sljedeći način:

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

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

Brisanje niza:

$ArrayExample = $null

Petlje

Sintaksa petlji:

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

Izlaz iz petlje break.

Preskoči element continue.

Uslovni izrazi

if () {} elseif () {} else

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

Funkcija

Definiranje funkcije:

function Example () {
  echo &args
}

Pokretanje funkcije:

Example “First argument” “Second argument”

Definiranje argumenata u funkciji:

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

function Example ($first, $second) {}

Pokretanje funkcije:

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

Izuzetak

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

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster