PowerShell for begyndere

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.

PowerShell for begyndere

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.26

Da 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.26

Lad os antage, at rĂŠkkefĂžlgen kunne vĂŠre:

Get-EventLog -Newest 5 Application

Alias

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.

PowerShell for begyndere

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 = 4

Symbolet > 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:

$ArrayExample

TilfĂžjelse af et element:

$ArrayExample += “Third”

$ArrayExample += @(“Fourth”, “Fifth”)

Sortering:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Men 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 | Sort

Der 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 = $null

Loops

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 () {} else

switch($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

KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster