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