PowerShell za početnike

Pri radu s PowerShell-om prvo s čime se susrećemo su naredbe (Cmdlets).
Poziv naredbe izgleda ovako:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Pomoć

Pomoći se pristupa u PowerShell pomoću naredbe Get-Help. Možete odrediti jedan od parametara: primjer, detaljno, potpuno, online, showWindow.

Get-Help Get-Service -full će vratiti potpuni opis rada naredbe Get-Service
Get-Help Get-S* će prikazati sve dostupne naredbe i funkcije koje počinju s Get-S*

Postoji i detaljna dokumentacija na službenoj Microsoftovoj stranici.

Ovdje je primjer pomoći za naredbu Get-Evenlog

PowerShell za početnike

Ako su parametri u uglatim zagradama [], oni su izborni.
Odnosno, u ovom primjeru je obavezan naziv samog časopisa, a naziv parametra Ne. Ako su tip parametra i njegovo ime zajedno u zagradama, onda je parametar neobavezan.

Ako pogledate parametar EntryType, možete vidjeti vrijednosti koje su zatvorene u vitičaste zagrade. Za ovaj parametar možemo koristiti samo unaprijed definirane vrijednosti u vitičastim zagradama.

Informaciju o tome je li parametar potreban možemo vidjeti u donjem opisu u polju Obavezno. U gornjem primjeru, atribut After nije obavezan jer je Required postavljen na false. Zatim vidimo polje Position nasuprot kojem piše Named. To znači da se parametru može pristupiti samo imenom, to jest:

Get-EventLog -LogName Application -After 2020.04.26

Budući da je parametar LogName imao naveden broj 0 umjesto Named, to znači da možemo pristupiti parametru bez imena, ali navodeći ga u potrebnom nizu:

Get-EventLog Application -After 2020.04.26

Pretpostavimo ovaj redoslijed:

Get-EventLog -Newest 5 Application

Pseudonim

Kako bismo mogli koristiti poznate naredbe s konzole, PowerShell ima aliase (Alias).

Primjer pseudonima za naredbu Set-Location je cd.

Odnosno, umjesto pozivanja naredbe

Set-Location “D:”

možemo koristiti

cd “D:”

Povijest

Za pregled povijesti poziva naredbi, možete koristiti Get-History

Izvrši naredbu iz povijesti Invoke-History 1; Povijest poziva 2

Brisanje povijesti Clear-History

Cjevovod

Cjevovod u powershellu je kada se rezultat prve funkcije prosljeđuje drugoj. Evo primjera korištenja cjevovoda:

Get-Verb | Measure-Object

Ali da bismo bolje razumjeli cjevovod, uzmimo jednostavniji primjer. Postoji ekipa

Get-Verb "get"

Ako nazovemo Get-Help Get-Verb -Full pomoć, vidjet ćemo da parametar Verb prihvaća pipline unos, a ByValue je napisan u zagradama.

PowerShell za početnike

To znači da možemo prepisati Get-Verb "get" u "get" | Get-Verb.
Odnosno, rezultat prvog izraza je niz i prosljeđuje se parametru Verb naredbe Get-Verb putem ulaza u cjevovod prema vrijednosti.
Također unos cjevovoda može biti ByPropertyName. U ovom slučaju, proslijedit ćemo objekt koji ima svojstvo sa sličnim imenom Glagol.

Varijable

Varijable nisu strogo tipizirane i navedene su sa simbolom $ ispred

$example = 4

Simbol > znači unos podataka
Na primjer, $example > File.txt
Pomoću ovog izraza smjestit ćemo podatke iz varijable $example u datoteku
Isto kao Set-Content -Value $example -Path File.txt

nizovi

Inicijalizacija polja:

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

Inicijalizacija praznog niza:

$ArrayExample = @()

Dobivanje vrijednosti prema indeksu:

$ArrayExample[0]

Dobijte cijeli niz:

$ArrayExample

Dodavanje elementa:

$ArrayExample += “Third”

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

Sortiraj po:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Ali sam niz ostaje nepromijenjen tijekom ovog sortiranja. A ako želimo da niz ima sortirane podatke, tada moramo dodijeliti sortirane vrijednosti:

$ArrayExample = $ArrayExample | Sort

Ne postoji pravi način za uklanjanje elementa iz niza u PowerShellu, ali to možete učiniti na sljedeći način:

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

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

Uklanjanje niza:

$ArrayExample = $null

petlje

Sintaksa petlje:

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

Izostavljanje elementa continue.

Uvjetne izjave

if () {} elseif () {} else

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

funkcija

Definicija funkcije:

function Example () {
  echo &args
}

Funkcija trčanja:

Example “First argument” “Second argument”

Definiranje argumenata u funkciji:

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

function Example ($first, $second) {}

Funkcija trčanja:

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

izuzetak

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

Izvor: www.habr.com

Dodajte komentar