PowerShell vir beginners

Wanneer ons met PowerShell werk, is die eerste ding wat ons teëkom opdragte (Cmdlets).
Die opdragoproep lyk soos volg:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

help

Hulp word in PowerShell verkry deur die Get-Help-opdrag te gebruik. Jy kan een van die parameters spesifiseer: voorbeeld, gedetailleerd, vol, aanlyn, showWindow.

Get-Help Get-Service -full sal 'n volledige beskrywing gee van hoe die Get-Service-opdrag werk
Get-Help Get-S* sal alle beskikbare opdragte en funksies wys wat begin met Get-S*

Daar is ook gedetailleerde dokumentasie op die amptelike Microsoft-webwerf.

Hier is 'n voorbeeldhulp vir die Get-Evenlog-opdrag

PowerShell vir beginners

As parameters in vierkantige hakies [], is dit opsioneel.
Dit wil sê, in hierdie voorbeeld is die naam van die joernaal self verpligtend, en die naam van die parameter Geen. As die parameter tipe en sy naam in hakies saam ingesluit is, dan is die parameter opsioneel.

As u na die EntryType-parameter kyk, kan u die waardes sien wat in krullerige hakies ingesluit is. Vir hierdie parameter kan ons slegs voorafbepaalde waardes in krullerige hakies gebruik.

Ons kan inligting sien of die parameter vereis word in die beskrywing hieronder in die Vereiste-veld. In die voorbeeld hierbo is die After-kenmerk opsioneel omdat Required op vals gestel is. Volgende sien ons die Posisie-veld oorkant wat sê Named. Dit beteken dat die parameter slegs deur die naam verkry kan word, dit is:

Get-EventLog -LogName Application -After 2020.04.26

Aangesien die LogName-parameter die nommer 0 gespesifiseer het in plaas van Named, beteken dit dat ons toegang tot die parameter kan kry sonder 'n naam, maar deur dit in die vereiste volgorde te spesifiseer:

Get-EventLog Application -After 2020.04.26

Kom ons neem hierdie volgorde aan:

Get-EventLog -Newest 5 Application

alias

Sodat ons bekende opdragte vanaf die konsole kan gebruik, het PowerShell aliasse (Alias).

'n Voorbeeld-alias vir die Stel-ligging-opdrag is cd.

Dit wil sê, in plaas daarvan om die opdrag te roep

Set-Location “D:”

ons kan gebruik

cd “D:”

Geskiedenis

Om die geskiedenis van beveloproepe te sien, kan jy Get-History gebruik

Voer opdrag uit die geskiedenis Invoke-History 1; Oproep-geskiedenis 2

Maak geskiedenis skoon Maak geskiedenis skoon

Pyplyn

'n Pyplyn in powershell is wanneer die resultaat van die eerste funksie na die tweede oorgedra word. Hier is 'n voorbeeld van die gebruik van die pyplyn:

Get-Verb | Measure-Object

Maar om die pyplyn beter te verstaan, kom ons neem 'n eenvoudiger voorbeeld. Daar is 'n span

Get-Verb "get"

As ons die Get-Help Kry-Verb -Full help noem, sal ons sien dat die Werkwoord parameter pyplyninvoer aanvaar en ByValue word tussen hakies geskryf.

PowerShell vir beginners

Dit beteken dat ons Get-Verb "kry" kan herskryf na "kry" | Kry-Verb.
Dit wil sê, die resultaat van die eerste uitdrukking is 'n string en dit word na die Werkwoord-parameter van die Get-Verb-opdrag deurgegee via pyplyn-invoer deur waarde.
Ook pyplyn-invoer kan ByPropertyName wees. In hierdie geval sal ons 'n voorwerp deurgee wat 'n eienskap het met 'n soortgelyke naam Werkwoord.

Veranderlikes

Veranderlikes is nie sterk getik nie en word gespesifiseer met 'n $-simbool voor

$example = 4

Die > simbool beteken plaas data in
Byvoorbeeld, $voorbeeld > File.txt
Met hierdie uitdrukking sal ons die data van die $voorbeeld veranderlike in 'n lêer plaas
Dieselfde as Set-Content -Value $voorbeeld -Path File.txt

skikkings

Skikkingsinisiasie:

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

Inisialiseer 'n leë skikking:

$ArrayExample = @()

Kry 'n waarde volgens indeks:

$ArrayExample[0]

Kry die hele skikking:

$ArrayExample

Voeg 'n element by:

$ArrayExample += “Third”

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

Sorteer deur:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Maar die skikking self bly onveranderd tydens hierdie sortering. En as ons wil hê dat die skikking gesorteerde data moet hê, moet ons gesorteerde waardes toewys:

$ArrayExample = $ArrayExample | Sort

Daar is geen werklike manier om 'n element uit 'n skikking in PowerShell te verwyder nie, maar jy kan dit op hierdie manier doen:

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

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

Verwydering van 'n skikking:

$ArrayExample = $null

loops

Lus sintaksis:

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

Verlaat die breeklus.

Verlaat die voortgaan-element.

Voorwaardelike verklarings

if () {} elseif () {} else

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

funksie

Funksie definisie:

function Example () {
  echo &args
}

Loopfunksie:

Example “First argument” “Second argument”

Definieer argumente in 'n funksie:

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

function Example ($first, $second) {}

Loopfunksie:

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

Uitsondering

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

Bron: will.com

Voeg 'n opmerking