PowerShell for begyndere

Når vi arbejder med PowerShell, er det første vi støder på kommandoer (Cmdlets).
Kommandokaldet ser sådan ud:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Hjælp

Hjælp tilgås i PowerShell ved hjælp af kommandoen Get-Help. Du kan angive en af ​​parametrene: eksempel, detaljeret, fuld, online, showWindow.

Get-Help Get-Service -full returnerer en komplet beskrivelse af, hvordan Get-Service-kommandoen fungerer
Get-Help Get-S* vil vise alle tilgængelige kommandoer og funktioner, der starter med Get-S*

Der er også detaljeret dokumentation på det officielle Microsoft-websted.

Her er et eksempel på hjælp til kommandoen Get-Evenlog

PowerShell for begyndere

Hvis parametre er omgivet af firkantede parenteser [], er de valgfrie.
Det vil sige, at i dette eksempel er navnet på selve kladden obligatorisk, og navnet på parameteren Ingen. Hvis parametertypen og dens navn er omgivet i parentes sammen, er parameteren valgfri.

Hvis du ser på EntryType-parameteren, kan du se de værdier, der er omgivet af krøllede klammeparenteser. For denne parameter kan vi kun bruge foruddefinerede værdier i krøllede klammeparenteser.

Vi kan se information om, hvorvidt parameteren er påkrævet, i beskrivelsen nedenfor i feltet Påkrævet. I eksemplet ovenfor er After-attributten valgfri, fordi Required er sat til false. Dernæst ser vi feltet Position overfor, hvor der står Navngivet. Det betyder, at parameteren kun kan tilgås ved navn, dvs.

Get-EventLog -LogName Application -After 2020.04.26

Da parameteren LogName havde tallet 0 angivet i stedet for Navngivet, betyder det, at vi kan få adgang til parameteren uden et navn, men ved at angive det i den påkrævede rækkefølge:

Get-EventLog Application -After 2020.04.26

Lad os antage denne rækkefølge:

Get-EventLog -Newest 5 Application

Alias

For at vi kan bruge velkendte kommandoer fra konsollen, har PowerShell aliaser (Alias).

Et eksempel på alias for kommandoen Set-Location er cd.

Altså i stedet for at kalde kommandoen

Set-Location “D:”

vi kan bruge

cd “D:”

Historie

For at se historikken for kommandoopkald kan du bruge Get-History

Udfør kommando fra historik Invoke-History 1; Invoke-Historie 2

Ryd historik Ryd historik

Pipeline

En pipeline i powershell er, når resultatet af den første funktion overføres til den anden. Her er et eksempel på brug af pipeline:

Get-Verb | Measure-Object

Men for bedre at forstå pipelinen, lad os tage et enklere eksempel. Der er et hold

Get-Verb "get"

Hvis vi kalder Get-Help Get-Verb -Full hjælp, vil vi se, at Verb-parameteren accepterer pipline-input, og ByValue skrives i parentes.

PowerShell for begyndere

Det 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 det sendes til Verb-parameteren i Get-Verb-kommandoen via pipline-input efter værdi.
Pipline-input kan også være ByPropertyName. I dette tilfælde vil vi videregive et objekt, der har en egenskab med et lignende navn Verb.

Variabler

Variabler er ikke stærkt indtastede og er angivet med et $-symbol foran

$example = 4

>-symbolet betyder, at data indsættes
For eksempel $eksempel > File.txt
Med dette udtryk vil vi placere data fra $example-variablen i en fil
Samme som Set-Content -Value $example -Path File.txt

Arrays

Array initialisering:

$ArrayExample = @(“First”, “Second”)

Initialisering af et tomt array:

$ArrayExample = @()

Hentning af en værdi efter indeks:

$ArrayExample[0]

Hent hele arrayet:

$ArrayExample

Tilføjelse af et element:

$ArrayExample += “Third”

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

Sorter efter:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Men selve arrayet forbliver uændret under denne sortering. Og hvis vi ønsker, at arrayet skal have sorterede data, skal vi tildele sorterede værdier:

$ArrayExample = $ArrayExample | Sort

Der er ingen faktisk måde at fjerne et element fra et array i PowerShell, men du kan gøre det på denne måde:

$ArrayExample = $ArrayExample | where { $_ -ne “First” }

$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }

Fjernelse af et array:

$ArrayExample = $null

loops

Loop syntaks:

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

Afslut fra pausesløjfen.

Udeladelse af fortsæt-elementet.

Betingede erklæringer

if () {} elseif () {} else

switch($someIntValue){
  1 { “Option 1” }
  2 { “Option 2” }
  default { “Not set” }
}

Funktion

Funktionsdefinition:

function Example () {
  echo &args
}

Løbefunktion:

Example “First argument” “Second argument”

Definition af argumenter i en funktion:

function Example () {
  param($first, $second)
}

function Example ($first, $second) {}

Løbefunktion:

Example -first “First argument” -second “Second argument”

undtagelse

try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}

Kilde: www.habr.com

Tilføj en kommentar