PowerShell aloittelijoille

Kun työskentelet PowerShellin kanssa, ensimmäinen asia, jonka kohtaamme, ovat komennot (Cmdlets).
Komennon kutsu näyttää tältä:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Apu:

PowerShellin ohjetta käytetään Get-Help-komennolla. Yksi parametreista voidaan määrittää: esimerkki, yksityiskohtainen, täysi, online, showWindow.

Get-Help Get-Service -full palauttaa täydellisen kuvauksen Get-Service-komennon toiminnasta
Get-Help Get-S* näyttää kaikki saatavilla olevat komennot ja toiminnot alkaen Get-S*

Yksityiskohtaiset asiakirjat ovat myös Microsoftin virallisella verkkosivustolla.

Tässä on esimerkkiohje Get-Evenlog-komennolle

PowerShell aloittelijoille

Jos parametrit on suljettu hakasulkeisiin [], ne ovat valinnaisia.
Eli tässä esimerkissä vaaditaan itse lokin nimi ja parametrin nimi Ei. Jos parametrin tyyppi ja sen nimi on suljettu suluissa, tämä parametri on valinnainen.

Jos katsot EntryType-parametria, näet arvot, jotka on suljettu kiharahakasulkeissa. Tässä parametrissa voimme käyttää vain ennalta määritettyjä arvoja aaltosulkeissa.

Tietoja parametrin pakollisuudesta löytyy alla olevasta kuvauksesta Pakollinen-kentässä. Yllä olevassa esimerkissä After-attribuutti on valinnainen, koska Pakollinen on asetettu arvoon false. Seuraavaksi näemme vastapäätä olevan Sijainti-kentän, jossa lukee Nimetty. Tämä tarkoittaa, että voit viitata parametriin vain nimellä, eli:

Get-EventLog -LogName Application -After 2020.04.26

Koska LogName-parametrilla oli numero 0 Namedin sijaan, tämä tarkoittaa, että voimme viitata parametriin ilman nimeä, mutta määrittämällä sen halutussa järjestyksessä:

Get-EventLog Application -After 2020.04.26

Oletetaan tämä järjestys:

Get-EventLog -Newest 5 Application

alias

Jotta voimme käyttää tavallisia PowerShellin konsolin komentoja, on olemassa aliaksia (Alias).

Esimerkki Set-Location -komennon aliaksesta on cd.

Eli komennon kutsumisen sijaan

Set-Location “D:”

voimme käyttää

cd “D:”

Historia

Voit nähdä komentokutsujen historian käyttämällä Get-Historya

Suorita komento historiasta Invoke-History 1; Kutsu historiaa 2

Tyhjennä historia

Putki

Liukulinja powershellissä on, kun ensimmäisen funktion tulos välitetään toiselle. Tässä on esimerkki putken käytöstä:

Get-Verb | Measure-Object

Mutta putkilinjan ymmärtämiseksi paremmin otetaan yksinkertaisempi esimerkki. Sai joukkueen

Get-Verb "get"

Jos kutsut Get-Help Get-Verb -Full-apua, näemme, että Verbi-parametri ottaa pipline-syötteen ja ByValue kirjoitetaan suluissa.

PowerShell aloittelijoille

Tämä tarkoittaa, että voimme kirjoittaa Get-Verbin "get" muotoon "get" | GetVerb.
Toisin sanoen ensimmäisen lausekkeen tulos on merkkijono ja se välitetään Get-Verb-komennon Verb-parametrille pipline-syötteen avulla arvon mukaan.
Myös pipline-syöte voi olla ByPropertyName. Tässä tapauksessa ohitamme objektin, jolla on ominaisuus, jolla on samanlainen nimi Verbi.

Muuttujat

Muuttujia ei ole kirjoitettu voimakkaasti, ja niiden edessä on $

$example = 4

Symboli > tarkoittaa tietojen syöttämistä
Esimerkiksi $esimerkki > Tiedosto.txt
Tällä lausekkeella laitamme tiedot $example-muuttujasta tiedostoon
Sama kuin Set-Content -Arvo $esimerkki -Path File.txt

taulukot

Taulukon alustus:

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

Tyhjän taulukon alustus:

$ArrayExample = @()

Arvon saaminen indeksin mukaan:

$ArrayExample[0]

Hanki koko joukko:

$ArrayExample

Elementin lisääminen:

$ArrayExample += “Third”

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

Lajittelu:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Mutta itse matriisi pysyy muuttumattomana tällä lajittelulla. Ja jos haluamme, että taulukossa on lajiteltuja tietoja, meidän on määritettävä lajitellut arvot:

$ArrayExample = $ArrayExample | Sort

Ei ole mahdollista poistaa elementtiä taulukosta PowerShellissä, mutta voit tehdä sen seuraavasti:

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

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

Taulukon poistaminen:

$ArrayExample = $null

Loops

Silmukkasyntaksi:

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

Poistu katkosilmukasta.

Ohita jatka-elementti.

Ehdolliset lausunnot

if () {} elseif () {} else

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

Toiminto

Toiminnan määritelmä:

function Example () {
  echo &args
}

Toiminnon käynnistäminen:

Example “First argument” “Second argument”

Argumenttien määrittäminen funktiossa:

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

function Example ($first, $second) {}

Toiminnon käynnistäminen:

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

Poikkeus

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

Lähde: will.com

Lisää kommentti