Laborante kun PowerShell, la unua afero, kiun ni renkontas, estas komandoj (Cmdlets).
La komandvoko aspektas jene:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
helpi
Helpo en PowerShell estas alirita per la komando Get-Help. Unu el la parametroj povas esti specifita: ekzemplo, detala, plena, interreta, showWindow.
Get-Help Get-Service -full resendos la plenan priskribon de la operacio de la komando Get-Service
Get-Help Get-S* montros ĉiujn disponeblajn komandojn kaj funkciojn komencante per Get-S*
Ankaŭ estas detala dokumentado en la oficiala retejo de Microsoft.
Jen ekzempla helpo por la komando Get-Evenlog
Se parametroj estas enfermitaj en kvadrataj krampoj [], tiam ili estas laŭvolaj.
Tio estas, en ĉi tiu ekzemplo, la nomo de la protokolo mem estas postulata, kaj la nomo de la parametro
Se vi rigardas la parametron EntryType, vi povas vidi la valorojn, kiuj estas enfermitaj en krampoj. Por ĉi tiu parametro, ni povas uzi nur antaŭdifinitajn valorojn en buklaj krampoj.
Informoj pri ĉu la parametro estas bezonata videblas en la suba priskribo en la Bezonata kampo. En la supra ekzemplo, la post-atributo estas laŭvola ĉar Bezonata estas agordita al falsa. Poste, ni vidas la kampon de pozicio kontraŭe, kiu diras Nomite. Ĉi tio signifas, ke vi povas rilati al la parametro nur per nomo, tio estas:
Get-EventLog -LogName Application -After 2020.04.26
Ĉar la parametro LogName havis la numeron 0 anstataŭ Named, tio signifas, ke ni povas rilati al la parametro sen nomo, sed specifante ĝin en la dezirata sinsekvo:
Get-EventLog Application -After 2020.04.26
Ni supozu ĉi tiun ordon:
Get-EventLog -Newest 5 Application
alias
Por ke ni povu uzi la kutimajn komandojn de la konzolo en PowerShell, ekzistas kaŝnomoj (Alias).
Ekzempla kaŝnomo por la komando Aro-Loko estas cd.
Tio estas, anstataŭ voki la komandon
Set-Location “D:”
ni povas uzi
cd “D:”
historio
Por vidi la historion de komandvokoj, vi povas uzi Get-History
Efektivigu komandon el historio Invoke-History 1; Alvoku Historion 2
Klara-Historio
Pipeline
Dukto en powershell estas kiam la rezulto de la unua funkcio estas pasita al la dua. Jen ekzemplo uzante la dukton:
Get-Verb | Measure-Object
Sed por pli bone kompreni la dukto, ni prenu pli simplan ekzemplon. Havas teamon
Get-Verb "get"
Se vi nomas la Get-Help Get-Help Get-Verb -Full helpo, tiam ni vidos, ke la Verb-parametro prenas pipline-enigon kaj ByValue estas skribita inter krampoj.
Ĉi tio signifas, ke ni povas reverki Get-Verb "get" al "get" | GetVerb.
Tio estas, la rezulto de la unua esprimo estas ĉeno kaj ĝi estas pasita al la Verb-parametro de la komando Get-Verb per pipline-enigo laŭ valoro.
Ankaŭ pipline-enigo povas esti ByPropertyName. En ĉi tiu kazo, ni transdonos objekton, kiu havas econ kun simila nomo Verbo.
variabloj
Variabloj ne estas forte tajpitaj kaj estas specifitaj kun $ antaŭe
$example = 4
La simbolo > signifas enmeti la datumojn
Ekzemple, $ekzemplo > Dosiero.txt
Kun ĉi tiu esprimo, ni metos la datumojn de la $ekzempla variablo en dosieron
Same kiel Aro-Enhavo -Valo $ekzemplo -Voja Dosiero.txt
Arrays
Inicialigo de tabelo:
$ArrayExample = @(“First”, “Second”)
Malplena tabelkomencigo:
$ArrayExample = @()
Akirante valoron per indekso:
$ArrayExample[0]
Akiru la tutan tabelon:
$ArrayExample
Aldonante elementon:
$ArrayExample += “Third”
$ArrayExample += @(“Fourth”, “Fifth”)
Ordigado:
$ArrayExample | Sort
$ArrayExample | Sort -Descending
Sed la tabelo mem restas senŝanĝa kun ĉi tiu ordigo. Kaj se ni volas, ke la tabelo havu ordigitajn datumojn, tiam ni devas asigni la ordigitajn valorojn:
$ArrayExample = $ArrayExample | Sort
Ne estas maniero forigi elementon de tabelo en PowerShell, sed vi povas fari ĝin tiel:
$ArrayExample = $ArrayExample | where { $_ -ne “First” }
$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Forigante tabelon:
$ArrayExample = $null
Loops
Buklo-sintakso:
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){}
Eliru el la rompo-buklo.
Preterpasu la daŭran elementon.
Kondiĉaj Deklaroj
if () {} elseif () {} else
switch($someIntValue){
1 { “Option 1” }
2 { “Option 2” }
default { “Not set” }
}
funkcio
Difino de funkcio:
function Example () {
echo &args
}
Funkcia lanĉo:
Example “First argument” “Second argument”
Difinante argumentojn en funkcio:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}
Funkcia lanĉo:
Example -first “First argument” -second “Second argument”
escepto
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
fonto: www.habr.com