PowerShell foar begjinners

By it wurkjen mei PowerShell is it earste ding dat wy tsjinkomme kommando's (Cmdlets).
De kommando-oprop sjocht der sa út:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Help

Help yn PowerShell is tagonklik mei it kommando Get-Help. Ien fan de parameters kin oantsjutte: foarbyld, detaillearre, fol, online, showWindow.

Get-Help Get-Service -full sil de folsleine beskriuwing fan 'e operaasje fan it kommando Get-Service weromjaan
Get-Help Get-S* sil alle beskikbere kommando's en funksjes sjen litte begjinnend mei Get-S*

D'r is ek detaillearre dokumintaasje op 'e offisjele Microsoft-webside.

Hjir is in foarbyldhelp foar it kommando Get-Evenlog

PowerShell foar begjinners

As parameters binne ynsletten yn fjouwerkante heakjes [], dan binne se opsjoneel.
Dat is, yn dit foarbyld is de namme fan it tydskrift sels ferplicht, en de namme fan 'e parameter Nee. As it parametertype en syn namme yn heakjes byinoar steane, dan is dizze parameter opsjoneel.

As jo ​​​​nei de EntryType-parameter sjogge, kinne jo de wearden sjen dy't yn krullende heakjes binne. Foar dizze parameter kinne wy ​​​​allinich foarôf definieare wearden brûke yn krullende beugels.

Ynformaasje oer oft de parameter fereaske is kin sjoen wurde yn 'e beskriuwing hjirûnder yn it fereaske fjild. Yn it foarbyld hjirboppe is it After-attribút opsjoneel omdat Required is ynsteld op falsk. Dêrnei sjogge wy it Posysjefjild tsjinoer dat seit Named. Dit betsjut dat jo allinich mei namme kinne ferwize nei de parameter, dat is:

Get-EventLog -LogName Application -After 2020.04.26

Om't de parameter LogName it nûmer 0 hie ynstee fan Named, betsjut dit dat wy nei de parameter kinne ferwize sûnder in namme, mar troch it op te jaan yn 'e winske folchoarder:

Get-EventLog Application -After 2020.04.26

Litte wy dizze folchoarder oannimme:

Get-EventLog -Newest 5 Application

Alias

Sadat wy de gewoane kommando's fan 'e konsole yn PowerShell kinne brûke, binne d'r aliassen (Alias).

In foarbyldalias foar it kommando Set-Lokaasje is cd.

Dat is, ynstee fan it kommando te roppen

Set-Location “D:”

wy kinne brûke

cd “D:”

Skiednis

Om de skiednis fan kommando-oproppen te sjen, kinne jo Get-History brûke

Kommando útfiere út skiednis Invoke-History 1; Skiednis oproppe 2

Clear-History

Pipeline

In pipeline yn powershell is as it resultaat fan 'e earste funksje wurdt trochjûn nei de twadde. Hjir is in foarbyld mei de pipeline:

Get-Verb | Measure-Object

Mar om de pipeline better te begripen, litte wy in ienfâldiger foarbyld nimme. Krige in ploech

Get-Verb "get"

As jo ​​de Get-Help Get-Verb -Full help neame, dan sille wy sjen dat de Verb-parameter pipline-ynfier nimt en ByValue wurdt skreaun tusken heakjes.

PowerShell foar begjinners

Dit betsjut dat wy Get-Verb "krije" kinne oerskriuwe nei "krije" | GetVerb.
Dat is, it resultaat fan 'e earste útdrukking is in tekenrige en it wurdt trochjûn oan' e tiidwurdparameter fan it kommando Get-Verb fia pipline-ynfier troch wearde.
Ek pipline-ynfier kin ByPropertyName wêze. Yn dit gefal sille wy in objekt trochjaan dat in eigenskip hat mei in ferlykbere namme Verb.

Feroarings

Fariabelen binne net sterk typearre en wurde oantsjutte mei in $ foaryn

$example = 4

It symboal > betsjut om de gegevens yn te setten
Bygelyks, $ foarbyld > File.txt
Mei dizze útdrukking sille wy de gegevens fan 'e $ foarbyld fariabele yn in bestân pleatse
Itselde as Set-Ynhâld -Wearde $ foarbyld -Path File.txt

rigen

Array inisjalisaasje:

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

Inisjalisaasje fan lege array:

$ArrayExample = @()

Wearde krije troch yndeks:

$ArrayExample[0]

Krij it hiele array:

$ArrayExample

In elemint tafoegje:

$ArrayExample += “Third”

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

Sortearje:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Mar de array sels bliuwt net feroare mei dizze sortearring. En as wy wolle dat de array sortearre gegevens hat, dan moatte wy de sortearre wearden tawize:

$ArrayExample = $ArrayExample | Sort

D'r is gjin manier om in elemint te ferwiderjen fan in array yn PowerShell, mar jo kinne it sa dwaan:

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

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

In array fuortsmite:

$ArrayExample = $null

Loops

Loop syntaksis:

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

Útgean fan 'e break loop.

Skip it trochgean elemint oer.

Betingsten

if () {} elseif () {} else

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

Funksje

Funksje definysje:

function Example () {
  echo &args
}

Funksje lansearring:

Example “First argument” “Second argument”

Arguminten definiearje yn in funksje:

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

function Example ($first, $second) {}

Funksje lansearring:

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

Utsûndering

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

Boarne: www.habr.com

Add a comment