StrÄdÄjot ar PowerShell, pirmÄ lieta, ar ko mÄs saskaramies, ir komandas (Cmdlet).
Komandas izsaukums izskatÄs Å”Ädi:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
PalÄ«dzÄt
PalÄ«dzÄ«bai programmÄ PowerShell var piekļūt, izmantojot komandu Get-Help. Varat norÄdÄ«t vienu no parametriem: piemÄrs, detalizÄts, pilns, tieÅ”saistes, showWindow.
Get-Help Get-Service -full parÄdÄ«s pilnu aprakstu par to, kÄ darbojas komanda Get-Service
Get-Help Get-S* parÄdÄ«s visas pieejamÄs komandas un funkcijas, sÄkot ar Get-S*
Ir arÄ« detalizÄta dokumentÄcija oficiÄlajÄ Microsoft vietnÄ.
Å eit ir palÄ«dzÄ«bas piemÄrs komandai Get-Evenlog
Ja parametri ir ievietoti kvadrÄtiekavÄs [], tie nav obligÄti.
Tas nozÄ«mÄ, ka Å”ajÄ piemÄrÄ obligÄts ir paÅ”a žurnÄla nosaukums un parametra nosaukums
Ja skatÄties uz parametru EntryType, varat redzÄt vÄrtÄ«bas, kas ir ietvertas cirtainajÄs iekavÄs. Å im parametram mÄs varam izmantot tikai iepriekÅ” noteiktas vÄrtÄ«bas cirtainajÄs lencÄs.
InformÄciju par to, vai parametrs ir nepiecieÅ”ams, varam redzÄt tÄlÄk esoÅ”ajÄ aprakstÄ, laukÄ ObligÄts. IepriekÅ” minÄtajÄ piemÄrÄ atribÅ«ts After nav obligÄts, jo Required ir iestatÄ«ts uz false. TÄlÄk mÄs redzam lauku PozÄ«cija pretÄ«, kas saka Nosaukts. Tas nozÄ«mÄ, ka parametram var piekļūt tikai pÄc nosaukuma, tas ir:
Get-EventLog -LogName Application -After 2020.04.26
TÄ kÄ LogName parametram bija norÄdÄ«ts skaitlis 0, nevis Named, tas nozÄ«mÄ, ka mÄs varam piekļūt parametram bez nosaukuma, bet norÄdot to vajadzÄ«gajÄ secÄ«bÄ:
Get-EventLog Application -After 2020.04.26
PieÅemsim Å”Ädu secÄ«bu:
Get-EventLog -Newest 5 Application
Alias
Lai mÄs varÄtu izmantot pazÄ«stamÄs komandas no konsoles, PowerShell ir aizstÄjvÄrdi (Alias).
Komandas Set-Location aizstÄjvÄrda piemÄrs ir cd.
Tas ir, tÄ vietÄ, lai izsauktu komandu
Set-Location āD:ā
varam izmantot
cd āD:ā
vÄsture
Lai skatÄ«tu komandu zvanu vÄsturi, varat izmantot Get-History
IzpildÄ«t komandu no vÄstures Invoke-History 1; IzsaukÅ”anas vÄsture 2
NotÄ«rÄ«t vÄsturi NotÄ«rÄ«t vÄsturi
Cauruļvads
Powershell konveijers ir tad, kad pirmÄs funkcijas rezultÄts tiek nodots otrajai funkcijai. Å eit ir cauruļvada izmantoÅ”anas piemÄrs:
Get-Verb | Measure-Object
Bet, lai labÄk izprastu cauruļvadu, Åemsim vienkÄrÅ”Äku piemÄru. Ir komanda
Get-Verb "get"
Ja mÄs izsauksim Get-Help Get-Verb -Full palÄ«dzÄ«bu, mÄs redzÄsim, ka parametrs Verb pieÅem pipline ievadi un ByValue ir rakstÄ«ts iekavÄs.
Tas nozÄ«mÄ, ka mÄs varam pÄrrakstÄ«t Get-Verb "get" uz "get" | Get-darbÄ«bas vÄrds.
Tas ir, pirmÄs izteiksmes rezultÄts ir virkne, un tas tiek nodots komandas Get-Verb parametram Verb, izmantojot pipline ievadi pÄc vÄrtÄ«bas.
ArÄ« cauruļvada ievade var bÅ«t ByPropertyName. Å ajÄ gadÄ«jumÄ mÄs nodosim objektu, kuram ir rekvizÄ«ts ar lÄ«dzÄ«gu nosaukumu DarbÄ«bas vÄrds.
Mainīgie
MainÄ«gie lielumi nav stingri drukÄti un ir norÄdÄ«ti ar simbolu $ priekÅ”Ä
$example = 4
Simbols > nozÄ«mÄ datu ievadÄ«Å”anu
PiemÄram, $example > File.txt
Ar Å”o izteiksmi mÄs ievietosim datus no mainÄ«gÄ $example failÄ
Tas pats, kas Set-Content -Value $example -Path File.txt
Masīvi
MasÄ«va inicializÄcija:
$ArrayExample = @(āFirstā, āSecondā)
TukÅ”a masÄ«va inicializÄcija:
$ArrayExample = @()
VÄrtÄ«bas iegÅ«Å”ana pÄc indeksa:
$ArrayExample[0]
Iegūstiet visu masīvu:
$ArrayExample
Elementa pievienoŔana:
$ArrayExample += āThirdā
$ArrayExample += @(āFourthā, āFifthā)
KÄrtot pÄc:
$ArrayExample | Sort
$ArrayExample | Sort -Descending
Bet pats masÄ«vs Ŕīs ŔķiroÅ”anas laikÄ paliek nemainÄ«gs. Un, ja mÄs vÄlamies, lai masÄ«vÄ bÅ«tu sakÄrtoti dati, mums ir jÄpieŔķir sakÄrtotas vÄrtÄ«bas:
$ArrayExample = $ArrayExample | Sort
Nav reÄla veida, kÄ noÅemt elementu no masÄ«va programmÄ PowerShell, taÄu varat to izdarÄ«t Å”Ädi:
$ArrayExample = $ArrayExample | where { $_ -ne āFirstā }
$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
MasÄ«va noÅemÅ”ana:
$ArrayExample = $null
Cilpas
Cilpas sintakse:
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){}
Iziet no pÄrtraukuma cilpas.
TurpinÄÅ”anas elementa izlaiÅ”ana.
NosacÄ«ti paziÅojumi
if () {} elseif () {} else
switch($someIntValue){
1 { āOption 1ā }
2 { āOption 2ā }
default { āNot setā }
}
funkcija
Funkcijas definīcija:
function Example () {
echo &args
}
SkrieŔanas funkcija:
Example āFirst argumentā āSecond argumentā
Argumentu definÄÅ”ana funkcijÄ:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}
SkrieŔanas funkcija:
Example -first āFirst argumentā -second āSecond argumentā
IzÅÄmums
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Avots: www.habr.com