Powershell voor beginners

Wanneer we met PowerShell werken, is het eerste dat we tegenkomen commando's (Cmdlets).
De opdrachtaanroep ziet er als volgt uit:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Help

Help in PowerShell is toegankelijk via de opdracht Get-Help. Een van de parameters kan worden gespecificeerd: voorbeeld, gedetailleerd, volledig, online, showWindow.

Get-Help Get-Service -full retourneert de volledige beschrijving van de werking van de opdracht Get-Service
Get-Help Get-S* toont alle beschikbare commando's en functies beginnend met Get-S*

Er is ook gedetailleerde documentatie op de officiële Microsoft-website.

Hier is een voorbeeldhulp voor de opdracht Get-Evenlog

Powershell voor beginners

Als parameters tussen vierkante haken [] staan, zijn ze optioneel.
Dat wil zeggen dat in dit voorbeeld de naam van het logboek zelf vereist is, en de naam van de parameter Nee. Als het parametertype en de naam ervan samen tussen haakjes staan, is deze parameter optioneel.

Als u naar de parameter EntryType kijkt, ziet u de waarden die tussen accolades staan. Voor deze parameter kunnen we alleen vooraf gedefinieerde waarden tussen accolades gebruiken.

Informatie over of de parameter vereist is, vindt u in de beschrijving hieronder in het veld Vereist. In het bovenstaande voorbeeld is het After-attribuut optioneel omdat Vereist is ingesteld op false. Vervolgens zien we het Positie-veld ertegenover dat Named zegt. Dit betekent dat u alleen met de naam naar de parameter kunt verwijzen, dat wil zeggen:

Get-EventLog -LogName Application -After 2020.04.26

Omdat de parameter LogName het nummer 0 had in plaats van Named, betekent dit dat we naar de parameter kunnen verwijzen zonder naam, maar door deze in de gewenste volgorde op te geven:

Get-EventLog Application -After 2020.04.26

Laten we deze volgorde aannemen:

Get-EventLog -Newest 5 Application

Alias

Zodat we de gebruikelijke commando's van de console in PowerShell kunnen gebruiken, zijn er aliassen (Alias).

Een voorbeeldalias voor de opdracht Set-Location is cd.

Dat wil zeggen, in plaats van het commando aan te roepen

Set-Location “D:”

we kunnen gebruiken

cd “D:”

Geschiedenis

Om de geschiedenis van opdrachtaanroepen te zien, kunt u Get-History gebruiken

Voer commando uit de geschiedenis uit Invoke-History 1; Geschiedenis oproepen 2

Geschiedenis wissen

Pijpleiding

Een pijplijn in powershell is wanneer het resultaat van de eerste functie wordt doorgegeven aan de tweede. Hier is een voorbeeld waarbij de pijplijn wordt gebruikt:

Get-Verb | Measure-Object

Maar om de pijplijn beter te begrijpen, nemen we een eenvoudiger voorbeeld. Ik heb een team

Get-Verb "get"

Als je de Get-Help Get-Verb -Full help aanroept, dan zullen we zien dat de Verb-parameter pipline-invoer nodig heeft en ByValue tussen haakjes staat.

Powershell voor beginners

Dit betekent dat we Get-Werkwoord "krijgen" kunnen herschrijven naar "krijgen" | GetVerb.
Dat wil zeggen, het resultaat van de eerste uitdrukking is een tekenreeks en deze wordt doorgegeven aan de Verb-parameter van het Get-Verb-commando via pipline-invoer op waarde.
Pijplijninvoer kan ook ByPropertyName zijn. In dit geval geven we een object door dat een eigenschap heeft met een vergelijkbare naam Verb.

Variabelen

Variabelen zijn niet sterk getypeerd en worden gespecificeerd met een $ ervoor

$example = 4

Het symbool > betekent om de gegevens in te voeren
Bijvoorbeeld $voorbeeld > Bestand.txt
Met deze uitdrukking zullen we de gegevens van de variabele $example in een bestand plaatsen
Hetzelfde als Set-Content -Value $example -Path File.txt

arrays

Array-initialisatie:

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

Lege array-initialisatie:

$ArrayExample = @()

Waarde ophalen per index:

$ArrayExample[0]

Krijg de hele reeks:

$ArrayExample

Een onderdeel toevoegen:

$ArrayExample += “Third”

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

Sorteren op:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Maar de array zelf blijft ongewijzigd bij deze sortering. En als we willen dat de array gesorteerde gegevens bevat, moeten we de gesorteerde waarden toewijzen:

$ArrayExample = $ArrayExample | Sort

Er is geen manier om een ​​element uit een array in PowerShell te verwijderen, maar je kunt het als volgt doen:

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

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

Een array verwijderen:

$ArrayExample = $null

Passanten

Lus-syntaxis:

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

Sla het doorgaan-element over.

Voorwaardelijke stellingen

if () {} elseif () {} else

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

Functie

Functiedefinitie:

function Example () {
  echo &args
}

Functie lancering:

Example “First argument” “Second argument”

Argumenten definiëren in een functie:

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

function Example ($first, $second) {}

Functie lancering:

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

uitzondering

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

Bron: www.habr.com

Voeg een reactie