Dirbdami su „PowerShell“ pirmiausia susiduriame su komandos (Cmdlet).
Komandos iškvietimas atrodo taip:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
Pagalba
Žinynas pasiekiamas PowerShell naudojant komandą Get-Help. Galite nurodyti vieną iš parametrų: pavyzdys, detalus, pilnas, internetinis, rodomas langas.
Get-Help Get-Service -full pateiks išsamų aprašymą, kaip veikia komanda Get-Service
Get-Help Get-S* parodys visas galimas komandas ir funkcijas, pradedant nuo Get-S*
Išsamią dokumentaciją taip pat rasite oficialioje „Microsoft“ svetainėje.
Čia yra „Get-Evenlog“ komandos pagalbos pavyzdys
Jei parametrai yra laužtiniuose skliaustuose [], jie yra neprivalomi.
Tai yra, šiame pavyzdyje privalomas paties žurnalo pavadinimas ir parametro pavadinimas
Jei pažvelgsite į parametrą EntryType, pamatysite reikšmes, kurios yra įtrauktos į riestinius skliaustus. Šiam parametrui galime naudoti tik iš anksto nustatytas reikšmes sulenktuose skliaustuose.
Informaciją apie tai, ar parametras reikalingas, galime pamatyti žemiau esančiame aprašyme, esančiame lauke Reikalingas. Aukščiau pateiktame pavyzdyje atributas After yra neprivalomas, nes Reikalingas nustatytas į false. Toliau matome priešais esantį lauką Pozicija, kuriame rašoma Pavadinta. Tai reiškia, kad parametrą galima pasiekti tik pagal pavadinimą, ty:
Get-EventLog -LogName Application -After 2020.04.26
Kadangi parametre LogName vietoj Named buvo nurodytas skaičius 0, tai reiškia, kad parametrą galime pasiekti be pavadinimo, o nurodę jį reikiama seka:
Get-EventLog Application -After 2020.04.26
Tarkime, tokia tvarka:
Get-EventLog -Newest 5 Application
Pravardė
Kad galėtume naudoti pažįstamas komandas iš konsolės, „PowerShell“ turi slapyvardžius (Alias).
Komandos Set-Location slapyvardžio pavyzdys yra cd.
Tai yra, užuot iškvietę komandą
Set-Location “D:”
galime naudoti
cd “D:”
Istorija
Norėdami peržiūrėti komandų iškvietimų istoriją, galite naudoti Get-History
Vykdyti komandą iš istorijos Invoke-History 1; Iškvieskite istoriją 2
Išvalyti istoriją Išvalyti istoriją
Naftotiekis
„Powershell“ konvejeris yra tada, kai pirmosios funkcijos rezultatas perduodamas antrajai funkcijai. Štai dujotiekio naudojimo pavyzdys:
Get-Verb | Measure-Object
Tačiau norėdami geriau suprasti dujotiekį, paimkime paprastesnį pavyzdį. Yra komanda
Get-Verb "get"
Jei pavadinsime Get-Help Get-Verb -Full pagalba, pamatysime, kad parametras Verb priima dujotiekio įvestį, o skliausteliuose rašoma ByValue.
Tai reiškia, kad galime perrašyti „Get-Verb“ „gauti“ į „gauti“ | Get-Verb.
Tai reiškia, kad pirmosios išraiškos rezultatas yra eilutė ir ji perduodama komandos Get-Verb parametrui Verb per konvejerio įvestį pagal reikšmę.
Taip pat konvejerinė įvestis gali būti ByPropertyName. Tokiu atveju mes perduodame objektą, kuris turi savybę panašiu pavadinimu Veiksmažodis.
Kintamieji
Kintamieji nėra griežtai įvedami ir nurodomi su $ simboliu priekyje
$example = 4
Simbolis > reiškia įvesti duomenis
Pavyzdžiui, $example > Failas.txt
Su šia išraiška mes patalpinsime duomenis iš $example kintamojo į failą
Tas pats, kaip Set-Content -Value $example -Path File.txt
Masyvai
Masyvo inicijavimas:
$ArrayExample = @(“First”, “Second”)
Tuščio masyvo inicijavimas:
$ArrayExample = @()
Vertės gavimas pagal indeksą:
$ArrayExample[0]
Gaukite visą masyvą:
$ArrayExample
Elemento pridėjimas:
$ArrayExample += “Third”
$ArrayExample += @(“Fourth”, “Fifth”)
Rūšiuoti pagal:
$ArrayExample | Sort
$ArrayExample | Sort -Descending
Tačiau pats masyvas šio rūšiavimo metu išlieka nepakitęs. Ir jei norime, kad masyve būtų surūšiuoti duomenys, turime priskirti surūšiuotas reikšmes:
$ArrayExample = $ArrayExample | Sort
Nėra tikro būdo pašalinti elementą iš masyvo „PowerShell“, bet galite tai padaryti taip:
$ArrayExample = $ArrayExample | where { $_ -ne “First” }
$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Masyvo pašalinimas:
$ArrayExample = $null
Kilpos
Ciklo sintaksė:
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){}
Išeikite iš pertraukos kilpos.
Tęsimo elemento praleidimas.
Sąlyginiai pareiškimai
if () {} elseif () {} else
switch($someIntValue){
1 { “Option 1” }
2 { “Option 2” }
default { “Not set” }
}
Funkcija
Funkcijos apibrėžimas:
function Example () {
echo &args
}
Bėgimo funkcija:
Example “First argument” “Second argument”
Funkcijos argumentų apibrėžimas:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}
Bėgimo funkcija:
Example -first “First argument” -second “Second argument”
Išimtis
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Šaltinis: www.habr.com