PowerShell fĂŒr AnfĂ€nger

Bei der Arbeit mit PowerShell ist das erste, womit wir konfrontiert werden, die Befehle (Cmdlet).
Der Aufruf eines Befehls sieht so aus:

Verb-Nomen -Parameter1 WertTyp1 -Parameter2 WertTyp2[]

Hilfe

Der Aufruf der Hilfe in PowerShell erfolgt ĂŒber den Befehl Get-Help. Es können eine der folgenden Optionen angegeben werden: example, detailed, full, online, showWindow.

Get-Help Get-Service -full gibt eine vollstĂ€ndige Beschreibung der Funktionsweise des Befehls Get-Service zurĂŒck.
Get-Help Get-S* zeigt alle verfĂŒgbaren Befehle und Funktionen, die mit Get-S* beginnen.

Außerdem gibt es auf der offiziellen Microsoft-Website eine ausfĂŒhrliche Dokumentation.

Hier ist ein Beispiel fĂŒr die Hilfe zu dem Befehl Get-Evenlog.

PowerShell fĂŒr AnfĂ€nger

Wenn die Parameter in eckige Klammern [] gesetzt sind, sind sie optional.
Das bedeutet, dass in diesem Beispiel der Name des Protokolls obligatorisch ist, wÀhrend der Parametername nicht. Wenn der Parametertyp und sein Name zusammen in Klammern stehen, ist dieser Parameter optional.

Wenn wir uns den Parameter EntryType ansehen, sehen wir die Werte, die in geschweifte Klammern gesetzt sind. FĂŒr diesen Parameter können wir nur vordefinierte Werte in geschweiften Klammern verwenden.

Information darĂŒber, ob der Parameter erforderlich ist, finden wir in der Beschreibung im Feld Required. Im obigen Beispiel ist das Attribut After nicht erforderlich, da gegenĂŒber Required false steht. Im Weiteren sehen wir das Feld Position, neben dem Named steht. Das bedeutet, dass auf den Parameter nur nach Namen zugegriffen werden kann, nĂ€mlich:

Get-EventLog -LogName Application -After 2020.04.26

Da beim Parameter LogName anstelle von Named die Zahl 0 angegeben wurde, bedeutet dies, dass wir auf den Parameter ohne Namen zugreifen können, indem wir ihn in der erforderlichen Reihenfolge angeben:

Get-EventLog Application -After 2020.04.26

Nehmen wir auch diese Reihenfolge an:

Get-EventLog -Newest 5 Application

Alias

Damit wir gebrÀuchliche Befehle aus der Konsole in PowerShell verwenden können, gibt es Aliase (Alias).

Ein Beispiel fĂŒr einen Alias fĂŒr den Befehl Set-Location ist cd.

Das heißt, anstelle des Aufrufs des Befehls

Set-Location “D:”

kannst du verwenden

cd “D:”

History

Um die Historie der Befehle zu sehen, kannst du Get-History verwenden.

Einen Befehl aus der Historie ausfĂŒhren Invoke-History 1; Invoke-History 2

Historie löschen Clear-History

Pipeline

Ein Pipeline in PowerShell ist, wenn das Ergebnis der ersten Funktion an die zweite ĂŒbergeben wird. Hier ist ein Beispiel fĂŒr die Verwendung der Pipeline:

Get-Verb | Measure-Object

Um den Pipeline besser zu verstehen, nehmen wir ein einfacheres Beispiel. Es gibt einen Befehl

Get-Verb "get"

Wenn wir die Hilfe mit Get-Help Get-Verb -Full aufrufen, sehen wir, dass der Parameter Verb Pipeline-Input akzeptiert und in Klammern steht "ByValue".

PowerShell fĂŒr AnfĂ€nger

Das bedeutet, dass wir Get-Verb „get“ in „get“ | Get-Verb umschreiben können.
Das Ergebnis des ersten Ausdrucks ist eine Zeichenkette, die als Wert an den Parameter Verb des Befehls Get-Verb ĂŒber Pipeline-Input ĂŒbergeben wird.
Pipeline-Input kann auch ByPropertyName sein. In diesem Fall ĂŒbergeben wir ein Objekt, das eine Eigenschaft mit Ă€hnlichem Namen hat wie Verb.

Variablen

Variablen sind nicht streng typisiert und werden mit dem Symbol $ davor definiert.

$example = 4

Das Symbol > bedeutet, Daten in
Zum Beispiel, $example > File.txt
Mit diesem Ausdruck legen wir die Daten aus der Variable $example in die Datei
Ähnlich wie beim Befehl Set-Content -Value $example -Path File.txt

Arrays

Initialisierung eines Arrays:

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

Initialisierung eines leeren Arrays:

$ArrayExample = @()

Wert nach Index abfragen:

$ArrayExample[0]

Das gesamte Array abfragen:

$ArrayExample

HinzufĂŒgen eines Elements:

$ArrayExample += “Third”

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

Sortierung:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Das Array bleibt bei dieser Sortierung unverĂ€ndert. Wenn wir jedoch die Sortierung im Array haben wollen, mĂŒssen wir die sortierten Werte zuweisen:

$ArrayExample = $ArrayExample | Sort

In PowerShell gibt es tatsĂ€chlich keine Funktion, um ein Element aus einem Array zu entfernen, aber man kann es folgendermaßen tun:

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

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

Löschen des Arrays:

$ArrayExample = $null

Schleifen

Syntax der Schleifen:

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

Mit break aus der Schleife aussteigen.

Element mit continue ĂŒberspringen.

Bedingte Anweisungen

if () {} elseif () {} else

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

Funktion

Funktionsdefinition:

function Example () {
  echo &args
}

Funktion ausfĂŒhren:

Example “First argument” “Second argument”

Definition der Argumente in der Funktion:

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

function Example ($first, $second) {}

Funktion ausfĂŒhren:

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

Ausnahme

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

Quelle: habr.com

ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen đŸ”„ ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster