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