NÀr vi arbetar med PowerShell Àr det första vi möter kommandon (Cmdlets).
Anropet av kommandot ser ut sÄ hÀr:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
HjÀlp
Anrop av hjÀlp i PowerShell görs med kommandot Get-Help. Du kan ange en av parametrarna: example, detailed, full, online, showWindow.
Get-Help Get-Service -full returnerar en fullstÀndig beskrivning av hur kommandot Get-Service fungerar.
Get-Help Get-S* visar alla tillgÀngliga kommandon och funktioner som börjar med Get-S*.
Det finns ocksÄ detaljerad dokumentation pÄ den officiella Microsoft-webbplatsen.
HÀr Àr ett exempel pÄ hjÀlp för kommandot Get-Eventlog.

Om parametrarna Àr inom hakparenteser [], sÄ Àr de valfria.
Det vill sÀga, i det hÀr exemplet Àr namnet pÄ loggen obligatoriskt, medan namnet pÄ parametern inte Àr det. Om typ och namn pÄ parametern Àr inom parenteser tillsammans, sÄ Àr den parametern valfri.
Om vi ser pÄ parametern EntryType, ser vi vÀrdena som Àr inom klamrar. För denna parameter kan vi endast anvÀnda fördefinierade vÀrden i klamrar.
Information om huruvida en parameter Àr obligatorisk kan vi se i beskrivningen nedan i fÀltet Required. I exemplet ovan Àr attributet After valfritt, eftersom det stÄr false vid Required. DÀrför ser vi fÀltet Position dÀr det stÄr Named. Detta innebÀr att vi bara kan hÀnvisa till parametern med namn, det vill sÀga:
Get-EventLog -LogName Application -After 2020.04.26Eftersom parametern LogName istÀllet för Named hade siffran 0 sÄ betyder det att vi kan hÀnvisa till parametern utan namn, och ange den i rÀtt följd:
Get-EventLog Application -After 2020.04.26Antag att vi har en sÄdan ordning:
Get-EventLog -Newest 5 ApplicationAlias
För att vi ska kunna anvÀnda vanliga kommandon frÄn konsolen i PowerShell finns det alias (Alias).
Ett exempel pÄ ett alias för kommandot Set-Location Àr cd.
Det vill sÀga, istÀllet för att anropa kommandot
Set-Location "D:"kan vi anvÀnda
cd "D:"History
För att se historiken över kommandon kan du anvÀnda Get-History.
Kör ett kommando frÄn historiken Invoke-History 1; Invoke-History 2.
Rensa historiken Clear-History.
Pipeline
Pipelinen i PowerShell Àr nÀr resultatet av den första funktionen skickas vidare till den andra. HÀr Àr ett exempel pÄ anvÀndning av pipelinen:
Get-Verb | Measure-Object.Men för att bÀttre förstÄ pipelinen, lÄt oss ta ett enklare exempel. Det finns ett kommando
Get-Verb "get".Om vi anropar hjÀlp Get-Help Get-Verb -Full, sÄ ser vi att parametern Verb tar pipline input och i parenteserna stÄr det ByValue.

Det betyder att vi kan skriva om Get-Verb «get» till «get» | Get-Verb.
Det vill sÀga att resultatet av det första uttrycket Àr en strÀng och den överförs till parameter Verb av kommandot Get-Verb genom pipelining med vÀrde.
Pipelining kan ocksÄ vara ByPropertyName. I sÄ fall kommer vi att överföra ett objekt som har en egenskap med ett liknande namn som Verb.
Variabler
Variabler Àr inte strikt typade och definieras med symbolen $ framför.
$example = 4Symbolen > innebÀr att lÀgga data i
Till exempel, $example > File.txt
Med detta uttryck kommer vi att placera data frÄn variabeln $example i en fil.
Detta Àr analogt med kommandot Set-Content -Value $example -Path File.txt.
Arrayer
Initiering av en array:
$ArrayExample = @(âFirstâ, âSecondâ)Initiering av en tom array:
$ArrayExample = @()HÀmta vÀrde efter index:
$ArrayExample[0]HĂ€mta hela arrayen:
$ArrayExampleLĂ€gga till ett element:
$ArrayExample += âThirdâ$ArrayExample += @(âFourthâ, âFifthâ)Sortering:
$ArrayExample | Sort$ArrayExample | Sort -DescendingMen sjÀlva arrayen förblir oförÀndrad vid sÄdan sortering. Om vi vill att arrayen ska ha sorterade data, mÄste vi göra en tilldelning av de sorterade vÀrdena:
$ArrayExample = $ArrayExample | SortI praktiken finns det ingen mekanism för att ta bort ett element frÄn arrayen i PowerShell, men det kan göras pÄ följande sÀtt:
$ArrayExample = $ArrayExample | where { $_ -ne âFirstâ }$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
Ta bort arrayen:
$ArrayExample = $nullLoopar
Syntax för loopar:
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){}Avsluta loopen break.
Skippa elementet continue.
Villkorssatser
if () {} elseif () {} elseswitch($someIntValue){
1 { âAlternativ 1â }
2 { âAlternativ 2â }
default { âInte angivenâ }
}
Funktion
Definiera en funktion:
function Example () {
echo &args
}Kör funktionen:
Example âFörsta argumentetâ âAndra argumentetâDefiniera argumenten i funktionen:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}Kör funktionen:
Example -first âFörsta argumentetâ -second âAndra argumentetâUndantag
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
KĂ€lla: habr.com
