PowerShell for nybegynnere

Når vi jobber med PowerShell, er det første vi møter kommandoer (Cmdlets).
Kommandokallet ser slik ut:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Hjelp

Hjelp i PowerShell er tilgjengelig ved hjelp av Get-Help-kommandoen. En av parameterne kan spesifiseres: eksempel, detaljert, full, online, showWindow.

Get-Help Get-Service -full vil returnere den fullstendige beskrivelsen av operasjonen til Get-Service-kommandoen
Get-Help Get-S* vil vise alle tilgjengelige kommandoer og funksjoner som starter med Get-S*

Det er også detaljert dokumentasjon på det offisielle Microsoft-nettstedet.

Her er et eksempel på hjelp for kommandoen Get-Evenlog

PowerShell for nybegynnere

Hvis parametere er omsluttet av firkantede parenteser [], er de valgfrie.
Det vil si at i dette eksemplet kreves navnet på selve loggen, og navnet på parameteren Nei. Hvis parametertypen og dens navn står i parentes sammen, er denne parameteren valgfri.

Hvis du ser på EntryType-parameteren, kan du se verdiene som er omsluttet av krøllete parenteser. For denne parameteren kan vi bare bruke forhåndsdefinerte verdier i krøllete klammeparenteser.

Informasjon om hvorvidt parameteren er påkrevd kan ses i beskrivelsen nedenfor i feltet Obligatorisk. I eksemplet ovenfor er After-attributtet valgfritt fordi Required er satt til false. Deretter ser vi Posisjon-feltet overfor som sier Navngitt. Dette betyr at du kan referere til parameteren bare ved navn, det vil si:

Get-EventLog -LogName Application -After 2020.04.26

Siden LogName-parameteren hadde tallet 0 i stedet for Named, betyr dette at vi kan referere til parameteren uten navn, men ved å spesifisere den i ønsket rekkefølge:

Get-EventLog Application -After 2020.04.26

La oss anta denne rekkefølgen:

Get-EventLog -Newest 5 Application

Alias

Slik at vi kan bruke de vanlige kommandoene fra konsollen i PowerShell, er det aliaser (Alias).

Et eksempelalias for kommandoen Set-Location er cd.

Det vil si i stedet for å ringe kommandoen

Set-Location “D:”

Vi kan bruke

cd “D:”

Historie

For å se historien til kommandoanrop kan du bruke Get-History

Utfør kommando fra historien Invoke-History 1; Påkall historikk 2

Slett logg

Rørledning

En pipeline i powershell er når resultatet av den første funksjonen sendes til den andre. Her er et eksempel som bruker rørledningen:

Get-Verb | Measure-Object

Men for bedre å forstå rørledningen, la oss ta et enklere eksempel. Har et lag

Get-Verb "get"

Hvis du kaller Get-Help Get-Verb -Full hjelp, vil vi se at Verb-parameteren tar pipline-inndata og ByValue er skrevet i parentes.

PowerShell for nybegynnere

Dette betyr at vi kan omskrive Get-Verb "get" til "get" | GetVerb.
Det vil si at resultatet av det første uttrykket er en streng og det sendes til Verb-parameteren til Get-Verb-kommandoen via pipeline-inndata etter verdi.
Pipline-inndata kan også være ByPropertyName. I dette tilfellet vil vi sende et objekt som har en egenskap med et lignende navn Verb.

Variabler

Variabler er ikke sterkt skrevet og spesifisert med en $ foran

$example = 4

Symbolet > betyr å legge inn dataene
For eksempel, $eksempel > Fil.txt
Med dette uttrykket vil vi legge dataene fra $example-variabelen inn i en fil
Samme som Set-Content -Value $example -Path File.txt

arrays

Matriseinitialisering:

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

Tom array initialisering:

$ArrayExample = @()

Få verdi etter indeks:

$ArrayExample[0]

Få hele matrisen:

$ArrayExample

Legge til et element:

$ArrayExample += “Third”

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

Sorter etter:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Men selve matrisen forblir uendret med denne sorteringen. Og hvis vi vil at matrisen skal ha sorterte data, må vi tilordne de sorterte verdiene:

$ArrayExample = $ArrayExample | Sort

Det er ingen måte å fjerne et element fra en matrise i PowerShell, men du kan gjøre det slik:

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

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

Fjerne en matrise:

$ArrayExample = $null

Loops

Løkkesyntaks:

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

Gå ut av pausesløyfen.

Hopp over fortsett-elementet.

Betingede uttalelser

if () {} elseif () {} else

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

Funksjon

Funksjonsdefinisjon:

function Example () {
  echo &args
}

Funksjon lansering:

Example “First argument” “Second argument”

Definere argumenter i en funksjon:

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

function Example ($first, $second) {}

Funksjon lansering:

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

Unntak

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

Kilde: www.habr.com

Legg til en kommentar