Bij het werken met PowerShell is het eerste waar we mee te maken krijgen de commando's (Cmdlet).
De aanroep van een commando ziet er als volgt uit:
Werkwoord-Noun -Parameter1 WaardeType1 -Parameter2 WaardeType2[]
Help
De hulpfunctie in PowerShell wordt uitgevoerd met de opdracht Get-Help. Je kunt een van de parameters opgeven: example, detailed, full, online, showWindow.
Get-Help Get-Service -full zal de volledige beschrijving van het commando Get-Service retourneren
Get-Help Get-S* toont alle beschikbare commando's en functies die beginnen met Get-S*
Ook op de officiële Microsoft-website is er gedetailleerde documentatie.
Hier is een voorbeeld van de hulpfunctie voor het commando Get-Eventlog

Als parameters tussen vierkante haken [] staan, zijn ze optioneel.
Dat wil zeggen, in dit voorbeeld is de naam van het logboek verplicht, terwijl de naam van de parameter niet is. Als het type parameter en de naam samen tussen haakjes staan, is deze parameter optioneel.
Als we naar de parameter EntryType kijken, zien we waarden die tussen accolades staan. Voor deze parameter kunnen we alleen vooraf gedefinieerde waarden in accolades gebruiken.
Informatie over of een parameter verplicht is, kunnen we onderaan het beschrijving in het veld Vereist zien. In het bovenstaande voorbeeld is het attribuut After optioneel, aangezien tegenover Vereist false staat. Vervolgens zien we het veld Positie waar tegenover staat Named. Dit betekent dat we alleen op naam naar de parameter kunnen verwijzen, dat wil zeggen:
Get-EventLog -LogName Application -After 2020.04.26Aangezien bij de parameter LogName in plaats van Named het getal 0 is opgegeven, betekent dit dat we naar de parameter kunnen verwijzen zonder naam, door deze in de juiste volgorde op te geven:
Get-EventLog Application -After 2020.04.26Stel dat ook deze volgorde mogelijk is:
Get-EventLog -Newest 5 ApplicationAlias
Om gebruik te kunnen maken van vertrouwde commando's uit de console in PowerShell zijn er aliassen (Alias).
Een voorbeeld van een alias voor het commando Set-Location is cd.
Dat wil zeggen in plaats van het commando aan te roepen
Set-Location “D:”kunnen we gebruiken
cd “D:”Geschiedenis
Om de geschiedenis van de uitgevoerde commando's te bekijken kan je Get-History gebruiken
Een commando uit de geschiedenis uitvoeren Invoke-History 1; Invoke-History 2
De geschiedenis wissen Clear-History
Pipeline
De pipeline in PowerShell is wanneer het resultaat van de eerste functie aan de tweede wordt doorgegeven. Hier is een voorbeeld van het gebruik van de pipeline:
Get-Verb | Measure-ObjectMaar om de pipeline beter te begrijpen, laten we een eenvoudigere voorbeeld nemen. Er is het commando
Get-Verb "get"Als we de helpfunctie Get-Help Get-Verb -Full aanroepen, zullen we zien dat de parameter Verb pipline-invoer accepteert en tussen haakjes staat ByValue.

Dit betekent dat we Get-Verb ‘get’ kunnen herschrijven naar ‘get’ | Get-Verb.
Dat wil zeggen, het resultaat van de eerste expressie is een string en deze wordt via pipline-invoer op waarde doorgegeven aan de parameter Verb van het commando Get-Verb.
Daarnaast kan pipline-invoer ook ByPropertyName zijn. In dit geval zullen we een object doorgeven dat een eigenschap met een vergelijkbare naam heeft als Verb.
Variabelen
Variabelen zijn niet strikt getypeerd en worden aangegeven met het symbool $ ervoor.
$example = 4Het symbool > betekent gegevens invoegen in
Bijvoorbeeld, $example > File.txt
Met deze expressie plaatsen we de gegevens uit de variabele $example in een bestand.
Een gelijkaardige opdracht is Set-Content -Value $example -Path File.txt.
Arrays
Initialisatie van een array:
$ArrayExample = @(“Eerste”, “Tweede”)Initialisatie van een lege array:
$ArrayExample = @()Waarde ophalen op index:
$ArrayExample[0]De hele array ophalen:
$ArrayExampleEen element toevoegen:
$ArrayExample += “Derde”$ArrayExample += @(“Vierde”, “Vijfde”)Sorteren:
$ArrayExample | Sort$ArrayExample | Sort -DescendingDe array zelf blijft echter onveranderd bij deze sortering. En als we willen dat de gegevens in de array gesorteerd zijn, moeten we de gesorteerde waarden toewijzen:
$ArrayExample = $ArrayExample | SortEigenlijk is er geen directe manier om een element uit de array te verwijderen in PowerShell, maar je kunt het als volgt doen:
$ArrayExample = $ArrayExample | where { $_ -ne “Eerste” }$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }
De array verwijderen:
$ArrayExample = $nullLussen
De syntaxis van lussen:
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 de lus break.
Sla een element over continue.
Voorwaardelijke uitspraken
if () {} elseif () {} elseswitch($someIntValue){
1 { “Optie 1” }
2 { “Optie 2” }
default { “Niet ingesteld” }
}
Functie
Functie definiëren:
function Example () {
echo &args
}Functie uitvoeren:
Example “Eerste argument” “Tweede argument”Argumenten in de functie definiëren:
function Example () {
param($first, $second)
}
function Example ($first, $second) {}Functie uitvoeren:
Example -first “Eerste argument” -second “Tweede argument”Uitzondering
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
Bron: habr.com
