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