NÄr man arbejder med PowerShell, er det fÞrste, man stÞder pÄ, kommandoer (Cmdlet).
Kaldet pÄ kommandoen ser sÄledes ud:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
Help
Kald af hjÊlp i PowerShell foregÄr med kommandoen Get-Help. Man kan angive en af parametrene: example, detailed, full, online, showWindow.
Get-Help Get-Service -full vil returnere en fuldstĂŠndig beskrivelse af, hvordan kommandoen Get-Service fungerer.
Get-Help Get-S* viser alle tilgĂŠngelige kommandoer og funktioner, der begynder med Get-S*.
Derudover findes der detaljeret dokumentation pÄ Microsofts officielle hjemmeside.
Her er et eksempel pÄ hjÊlp til kommandoen Get-Eventlog.

Hvis parametrene er omfattet af firkantede parenteser [], er de valgfrie.
I dette eksempel er selve navnet pÄ loggen obligatorisk, mens navnet pÄ parameteren ikke er. Hvis parameterens type og navn er blevet inkluderet i parenteser, er denne parameter valgfri.
Hvis vi ser pÄ parameteren EntryType, kan vi se vÊrdierne, der er indeholdt i krÞllede parenteser. For denne parameter kan vi kun bruge foruddefinerede vÊrdier i krÞllede parenteser.
Information om, hvorvidt en parameter er obligatorisk, kan vi se i beskrivelsen nedenfor i feltet Required. I ovenstÄende eksempel er attributten After valgfri, da der stÄr false ud for Required. DernÊst ser vi feltet Position, hvor der stÄr Named. Det betyder, at man kun kan henvise til parameteren ved navn, altsÄ:
Get-EventLog -LogName Application -After 2020.04.26Da der i parameteren LogName i stedet for Named blev angivet tallet 0, betyder det, at vi kan henvise til parameteren uden navn ved at angive den i den rigtige rĂŠkkefĂžlge:
Get-EventLog Application -After 2020.04.26Lad os antage, at rĂŠkkefĂžlgen kunne vĂŠre:
Get-EventLog -Newest 5 ApplicationAlias
For at vi kan bruge de sĂŠdvanlige kommandoer fra konsollen i PowerShell, findes der aliaser (Alias).
Et eksempel pÄ et alias for kommandoen Set-Location er cd.
Det vil sige, at vi i stedet for at kalde kommandoen
Set-Location âD:âkan bruge
cd âD:âHistory
For at se historikken over kald pÄ kommandoer kan man bruge Get-History.
UdfĂžr en kommando fra historikken Invoke-History 1; Invoke-History 2.
Ryd historikken Clear-History.
Pipeline
Pipeline i PowerShell er, nÄr resultatet af den fÞrste funktion sendes videre til den anden. Her er et eksempel pÄ brug af pipeline:
Get-Verb | Measure-Object.Men for bedre at forstÄ pipeline, lad os tage et enklere eksempel. Der er kommandoen
Get-Verb "get".Hvis vi kalder hjÊlp Get-Help Get-Verb -Full, vil vi se, at parameteren Verb accepterer pipeline input, og i parentes stÄr der ByValue.

Dette betyder, at vi kan omskrive Get-Verb «get» til «get» | Get-Verb.
Det vil sige, at resultatet af det fĂžrste udtryk er en streng, og den sendes til parameteren Verb i Get-Verb-kommandoen via pipline input som en vĂŠrdi.
Pipline input kan ogsÄ vÊre ByPropertyName. I dette tilfÊlde sender vi et objekt, som har en egenskab med et lignende navn som Verb.
Variabler
Variabler er ikke strengt typede og defineres ved at angive symbolet $ foran.
$example = 4Symbolet > betyder at anbringe data i
For eksempel, $example > File.txt
Med dette udtryk vil vi placere data fra variablen $example i filen.
Svarende til kommandoen Set-Content -Value $example -Path File.txt
Arrays
Initialisering af et array:
$ArrayExample = @(âFirstâ, âSecondâ)Initialisering af et tomt array:
$ArrayExample = @()Hentning af vĂŠrdi ved indeks:
$ArrayExample[0]Hent hele arrayet:
$ArrayExampleTilfĂžjelse af et element:
$ArrayExample += âThirdâ$ArrayExample += @(âFourthâ, âFifthâ)Sortering:
$ArrayExample | Sort$ArrayExample | Sort -DescendingMen selve arrayet forbliver uÊndret ved en sÄdan sortering. Og hvis vi Þnsker, at arrayet skal have sorterede data, skal vi tildele de sorterede vÊrdier:
$ArrayExample = $ArrayExample | SortDer er faktisk ingen metode til at fjerne et element fra et array i PowerShell, men det kan gÞres pÄ denne mÄde:
$ArrayExample = $ArrayExample | where { $_ -ne âFirstâ }$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Sletning af array:
$ArrayExample = $nullLoops
Syntaks for lĂžkker:
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){}Udgang fra lĂžkken break.
Spring over elementet continue.
Conditional Statements
if () {} elseif () {} elseswitch($someIntValue){
1 { âOption 1â }
2 { âOption 2â }
default { âNot setâ }
}
Funktion
Definition af en funktion:
function Example () {
echo &args
}KĂžrsel af funktionen:
Example âFirst argumentâ âSecond argumentâDefinition af argumenter i funktionen:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}KĂžrsel af funktionen:
Example -first âFirst argumentâ -second âSecond argumentâException
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Kilde: habr.com
