PowerShell-ekin lan egiten dugunean, aurkitzen dugun lehenengo gauza komandoak (Cmdlet-ak) dira.
Komando-deiak honen itxura du:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
Laguntza
Laguntza PowerShell-en eskuratzen da Get-Help komandoa erabiliz. Parametroetako bat zehaztu dezakezu: adibidea, zehatza, osoa, online, showWindow.
Get-Help Get-Service -full-ek Get-Help komandoak funtzionatzen duenaren deskribapen osoa itzuliko du
Get-Help Get-S*-k Get-S*-rekin hasten diren komando eta funtzio erabilgarri guztiak erakutsiko ditu
Microsoften webgune ofizialean dokumentazio zehatza ere badago.
Hona hemen Get-Evenlog komandoaren laguntza adibide bat
Parametroak [] kortxete artean sartzen badira, aukerakoak dira.
Hau da, adibide honetan, aldizkariaren izena bera derrigorrezkoa da, eta parametroaren izena
EntryType parametrora begiratzen baduzu, giltza kizkurren artean dauden balioak ikus ditzakezu. Parametro honetarako, aurrez definitutako balioak giltza kizkurren artean bakarrik erabil ditzakegu.
Parametroa beharrezkoa den ala ez informazioa ikus dezakegu beheko deskribapenean Beharrezkoa eremuan. Goiko adibidean, After atributua hautazkoa da, Beharrezkoa faltsu gisa ezarrita dagoelako. Jarraian, Izenekoa dioen Posizioa eremua ikusiko dugu. Horrek esan nahi du parametrora izenaren bidez bakarrik sar daitekeela, hau da:
Get-EventLog -LogName Application -After 2020.04.26
LogName parametroak Named-en ordez 0 zenbakia zehaztu zuenez, horrek esan nahi du parametrora izenik gabe sar gaitezkeela, baina behar den sekuentzian zehaztuz:
Get-EventLog Application -After 2020.04.26
Demagun ordena hau:
Get-EventLog -Newest 5 Application
Alias
Kontsolaren komando ezagunak erabili ahal izateko, PowerShell-ek aliasak ditu (Alias).
Ezarri-kokapena komandoaren alias adibide bat cd da.
Hau da, komandoari deitu beharrean
Set-Location “D:”
erabil ditzakegu
cd “D:”
Historia
Komando-deien historia ikusteko, Get-History erabil dezakezu
Exekutatu komandoa historiatik Invoke-History 1; Deitu-Historia 2
Garbitu historia Garbitu-Historia
Pipeline
Powershell-en kanalizazioa lehenengo funtzioaren emaitza bigarrenari pasatzen zaionean da. Hona hemen kanalizazioa erabiltzeko adibide bat:
Get-Verb | Measure-Object
Baina kanalizazioa hobeto ulertzeko, har dezagun adibide sinpleago bat. Talde bat dago
Get-Verb "get"
Get-Help Get-Verb -Full laguntza deitzen badugu, Verb parametroak pipline sarrera onartzen duela ikusiko dugu eta ByValue parentesi artean idatzita dagoela.
Horrek esan nahi du Get-Verb "lortu" berridatzi dezakegula "lortu" | Lortu-Aditza.
Hau da, lehen adierazpenaren emaitza kate bat da eta Get-Verb komandoaren Aditz parametrora pasatzen da balioaren arabera pipline sarreraren bidez.
Pipline sarrera ere ByPropertyName izan daiteke. Kasu honetan, antzeko izena duen propietate bat duen objektu bat pasatuko dugu Aditza.
Variables
Aldagaiak ez dira gogor idazten eta $ ikur batekin aurrealdean zehaztuta daude
$example = 4
> sinboloak datuak sartu esan nahi du
Adibidez, $example > Fitxategia.txt
Adierazpen honekin $example aldagaiko datuak fitxategi batean jarriko ditugu
Set-Content -Value $example -Path File.txt-en berdina
arrayak
Array hasieratzea:
$ArrayExample = @(“First”, “Second”)
Array huts bat hasieratzen:
$ArrayExample = @()
Indizearen arabera balio bat lortzea:
$ArrayExample[0]
Lortu array osoa:
$ArrayExample
Elementu bat gehitzea:
$ArrayExample += “Third”
$ArrayExample += @(“Fourth”, “Fifth”)
Ordenatzen:
$ArrayExample | Sort
$ArrayExample | Sort -Descending
Baina array-a bera aldatu gabe geratzen da ordenazio honetan. Eta matrizeak datuak ordenatuta edukitzea nahi badugu, orduan ordenatutako balioak esleitu behar ditugu:
$ArrayExample = $ArrayExample | Sort
Ez dago PowerShell-eko matrize batetik elementu bat kentzeko modurik, baina horrela egin dezakezu:
$ArrayExample = $ArrayExample | where { $_ -ne “First” }
$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Array bat kentzen:
$ArrayExample = $null
loops
Begizta sintaxia:
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){}
Irten atseden-begiztatik.
Jarraitzeko elementua baztertuz.
Baldintzazko adierazpenak
if () {} elseif () {} else
switch($someIntValue){
1 { “Option 1” }
2 { “Option 2” }
default { “Not set” }
}
Funtzio
Funtzioaren definizioa:
function Example () {
echo &args
}
Exekutatzeko funtzioa:
Example “First argument” “Second argument”
Funtzio batean argumentuak definitzea:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}
Exekutatzeko funtzioa:
Example -first “First argument” -second “Second argument”
salbuespen
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Iturria: www.habr.com