PowerShell për fillestarë

Kur punojmë me PowerShell, gjëja e parë me të cilën ndeshemi janë komandat (Cmdlet).
Thirrja e komandës duket kështu:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Ndihmë

Thirrja e ndihmës në PowerShell bëhet me komandën Get-Help. Mund të specifikoni një nga parametrat: example, detailed, full, online, showWindow.

Get-Help Get-Service -full do të kthejë një përshkrim të plotë të funksionimit të komandës Get-Service
Get-Help Get-S* do të shfaqë të gjitha komandat dhe funksionet e disponueshme që fillojnë me Get-S*

Gjithashtu, në faqen zyrtare të Microsoft ka dokumentacion të detajuar.

Ja një shembull i ndihmës për komandën Get-Evenlog

PowerShell për fillestarë

Nëse parametrat vendosen në kllapa katrore [], atëherë ata janë opsionalë.
Pra, në këtë shembull vetë emri i log-ut është i detyrueshëm, ndërsa emri i parametrit jo. Nëse lloji i parametrit dhe emri i tij vendosen së bashku në kllapa, atëherë ky parametër është opsional.

Nëse shikojmë parametrin EntryType, do të vërejmë vlerat që janë vendosur në kllapa kaçurrela. Për këtë parametër mund të përdorim vetëm vlerat e paracaktuara brenda kllapave kaçurrela.

Informacionin nëse një parametër është i detyrueshëm mund ta shohim në përshkrimin më poshtë, te fusha Required. Në shembullin e mësipërm atributi After është opsional, sepse përballë Required shkruhet false. Më pas shohim fushën Position, përballë së cilës shkruhet Named. Kjo do të thotë se parametrin mund ta përdorim vetëm sipas emrit, pra:

Get-EventLog -LogName Application -After 2020.04.26

Meqenëse për parametrin LogName, në vend të Named, ishte specifikuar numri 0, kjo do të thotë se mund ta përdorim parametrin pa emër, duke e vendosur në rendin e duhur:

Get-EventLog Application -After 2020.04.26

Lejohet edhe ky renditje:

Get-EventLog -Newest 5 Application

Alias

Që të mund të përdorim komandat e zakonshme nga konzola në PowerShell, ekzistojnë pseudonime (Alias).

Një shembull pseudonimi për komandën Set-Location është cd.

Pra, në vend që të thërrasim komandën

Set-Location “D:”

mund të përdorim

cd “D:”

Historia

Për të parë historikun e thirrjeve të komandave, mund të përdorni Get-History

Për të ekzekutuar një komandë nga historiku: Invoke-History 1; Invoke-History 2

Për të pastruar historikun: Clear-History

Pipeline

Pipeline në PowerShell është kur rezultati i ekzekutimit të funksionit të parë i kalon funksionit të dytë. Ja një shembull i përdorimit të pipeline:

Get-Verb | Measure-Object

Por, për ta kuptuar më mirë pipeline, le të marrim një shembull më të thjeshtë. Ekziston komanda

Get-Verb "get"

Nëse hapim ndihmën me Get-Help Get-Verb -Full, do të shohim se parametri Verb pranon pipeline input dhe në kllapa tregohet ByValue.

PowerShell për fillestarë

Kjo do tĂ« thotĂ« se mund ta rishkruajmĂ« Get-Verb “get” si “get” | Get-Verb.
Pra, rezultati i shprehjes së parë është një varg dhe ai i kalon parametrit Verb të komandës Get-Verb përmes pipeline input sipas vlerës.
Pipeline input mund të jetë edhe ByPropertyName. Në këtë rast do të kalojmë një objekt që ka një property me emër të ngjashëm me Verb.

Variablat

Variablat nuk janë të tipizuara në mënyrë rigoroze dhe përcaktohen duke vendosur simbolin $ në fillim

$example = 4

Simboli > do të thotë të vendosësh të dhënat në
Për shembull, $example > File.txt
Me kĂ«tĂ« shprehje do t’i vendosim tĂ« dhĂ«nat nga variabli $example nĂ« skedar
Njësoj si komanda Set-Content -Value $example -Path File.txt

Vargje

Inicializimi i vargut:

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

Inicializimi i një vargu bosh:

$ArrayExample = @()

Marrja e vlerës sipas indeksit:

$ArrayExample[0]

Marrja e të gjithë vargut:

$ArrayExample

Shtimi i një elementi:

$ArrayExample += “Third”

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

Renditja:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Por vetë vargu mbetet i pandryshuar pas kësaj renditjeje. Nëse duam që vargu të përmbajë të dhëna të renditura, duhet të bëjmë caktimin e vlerave të renditura:

$ArrayExample = $ArrayExample | Sort

Në fakt, në PowerShell nuk ka fshirje të drejtpërdrejtë të një elementi nga vargu, por mund të bëhet në këtë mënyrë:

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

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

Fshirja e vargut:

$ArrayExample = $null

Ciklet

Sintaksa e cikleve:

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

Dalja nga cikli me break.

Kapërcimi i elementit me continue.

Deklaratat kushtore

if () {} elseif () {} else

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

Funksioni

Përcaktimi i funksionit:

function Example () {
  echo &args
}

Nisja e funksionit:

Example “First argument” “Second argument”

Përcaktimi i argumenteve në funksion:

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

function Example ($first, $second) {}

Nisja e funksionit:

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

Përjashtim

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

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster