Kur punojmë me PowerShell, gjëja e parë që hasim janë komandat (Cmdlet).
Thirrja e komandës duket kështu:
Verb-Noun -Parameter1 LlojiVlera1 -Parameter2 LlojiVlera2[]
Ndihmë
Thirrja e ndihmës në PowerShell bëhet me komandën Get-Help. Mund të përcaktoni një nga parametrat: example, detailed, full, online, showWindow.
Get-Help Get-Service -full do të kthejë përshkrimin e plotë të funksionimit të komandës Get-Service.
Get-Help Get-S* do të tregojë të gjitha komandat dhe funksionet që fillojnë me Get-S*.
Po ashtu, në faqen zyrtare të Microsoft ka dokumentacion të detajuar.
Ja një shembull i ndihmës për komandën Get-Evenlog.

Nëse parametrat janë të mbyllur në katrorë [], ata janë të zgjedhshëm.
Pra, në këtë shembull emri i vetë regjistrit është i detyrueshëm, ndërsa emri i parametrave nuk është. Nëse lloji i parametrave dhe emri i tij janë të mbyllur së bashku në kllapa, atëherë ky parameter është i zgjedhshëm.
Nëse shikojmë parametrin EntryType, shohim vlerat që janë të mbyllura në kllapa të mëdha. Për këtë parameter ne mund të përdorim vetëm vlerat e paracaktuara në kllapa të mëdha.
Informacioni nëse parametri është i detyrueshëm mund ta shohim në përshkrimin më poshtë në fushën Required. Në shembullin e mësipërm, atributi After është opsional, pasi përballë Required shkruhet false. Më pas shohim fushën Position përballë së cilës është shkruar Named. Kjo tregon se mund t'i qasemi parametrave vetëm me emër, pra:
Get-EventLog -LogName Application -After 2020.04.26Pasi për parametrin LogName në vend të Named është dhënë numri 0, kjo do të thotë se mund ta qasemi parametrin pa emër, duke e përcaktuar në rendin e duhur:
Get-EventLog Application -After 2020.04.26Le të supozojmë një rend të tillë:
Get-EventLog -Newest 5 ApplicationAlias
Për të përdorur komandat që njohim nga konsola në PowerShell, ka pseudonime (Alias).
Shembulli i pseudonimit 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ë historinë e thirrjeve të komandave mund të përdorim Get-History.
Të ekzekutojmë komandën nga historia Invoke-History 1; Invoke-History 2
Të pastrojmë historinë Clear-History
Pipeline
Pajisja në PowerShell është kur rezultati i ekzekutimit të funksionit të parë kalon te i dyti. Ja një shembull i përdorimit të pajisjes:
Get-Verb | Measure-ObjectPor të kuptuar më mirë pipeline-in, le të marrim një shembull më të thjeshtë. Ka një komandë
Get-Verb "get"Nëse thërrasim ndihmën Get-Help Get-Verb -Full, do të shohim se parametri Verb merr inputin e pipeline-it dhe në kllapa shkruhet ByValue.

Kjo do të thotë se mund të rishkruajmë Get-Verb "get" në "get" | Get-Verb.
Pra, rezultati i shprehjes së parë është një varg dhe ai kalon në parametrin Verb të komandës Get-Verb përmes inputit të pipeline-it sipas vlerës.
Gjithashtu, inputi i pipeline-it mund të jetë ByPropertyName. Në këtë rast, ne do të kalojmë një objekt që ka një pronë me emrin e ngjashëm Verb.
Variablat
Variablat nuk janë të tipizuara në mënyrë strikte dhe caktohen me shenjën $ përpara
$example = 4Simboli > tregon të vendosësh të dhënat në
Për shembull, $example > File.txt
Me këtë shprehje do të vendosim të dhënat nga variabla $example në skedarin
Njësoj si komandës Set-Content -Value $example -Path File.txt
Array-t
Inicimi i një array-i:
$ArrayExample = @("First", "Second")Inicimi i një array-i të zbrazët:
$ArrayExample = @()Marrja e vlerës sipas indeksit:
$ArrayExample[0]Merrni të gjithë array-in:
$ArrayExampleShtimi i elementit:
$ArrayExample += "Third"$ArrayExample += @("Fourth", "Fifth")Renditja:
$ArrayExample | Sort$ArrayExample | Sort -DescendingPorosja e vlerave në këtë renditje mbetet e pandryshuar. Nëse dëshirojmë që të dhënat në array të jenë të renditura, duhet të bëjmë caktimin e vlerave të renditura:
$ArrayExample = $ArrayExample | SortNë fakt, nuk ka eliminuar ndonjë element nga array në PowerShell, por mund ta bëjmë në këtë mënyrë:
$ArrayExample = $ArrayExample | where { $_ -ne âFirstâ }$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Eleminimi i array:
$ArrayExample = $nullCiklet
Sintaksën 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 break.
Kalo elementi continue.
Kushtet Conditional
if () {} elseif () {} elseswitch($someIntValue){
1 { âOpsioni 1â }
2 { âOpsioni 2â }
default { âNuk Ă«shtĂ« vendosurâ }
}
Funksioni
Definimi i funksionit:
function Example () {
echo &args
}Ekzekutimi i funksionit:
Example âArgumenti i parĂ«â âArgumenti i dytĂ«âDefinimi i argumenteve nĂ« funksion:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}Ekzekutimi i funksionit:
Example -first âArgumenti i parĂ«â -second âArgumenti i dytĂ«âPĂ«rjashtimi
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Burimi: habr.com
