Freigeben über


about_Language_Keywords

Kurzbeschreibung

Beschreibt die Schlüsselwörter in der PowerShell-Skriptsprache.

Lange Beschreibung

PowerShell weist die folgenden Sprachstichwörter auf. Weitere Informationen finden Sie im Thema über das Schlüsselwort und in den Informationen, die der Tabelle folgen.

Schlüsselwort Referenz
begin about_Functions, about_Functions_Advanced
break about_Break, about_Trap
catch über_Versuchen_Fangen_Finale
class about_Classes
clean about_Functions, about_Functions_Advanced_Methods
continue about_Continue, about_Trap
data about_Data_Sections
define Reserviert für die zukünftige Verwendung
do about_Do, about_While
dynamicparam about_Functions_Advanced_Parameters
else about_If
elseif about_If
end about_Functions, about_Functions_Advanced_Methods
enum about_Enum
exit Beschrieben in diesem Thema
filter about_Functions
finally über_Versuchen_Fangen_Finale
for about_For
foreach about_Foreach
from Reserviert für die zukünftige Verwendung
function about_Functions, about_Functions_Advanced
hidden about_Hidden
if about_If
in about_Foreach
param about_Functions
process about_Functions, about_Functions_Advanced
return about_Return
static about_Classes
switch about_Switch
throw about_Throw, about_Functions_Advanced_Methods
trap about_Trap, about_Break, about_Try_Catch_Finally
try über_Versuchen_Fangen_Finale
until about_Do
using about_Using, about_Classes
var Reserviert für die zukünftige Verwendung
while about_While, about_Do

Die folgenden Schlüsselwörter werden von PowerShell-Workflows verwendet:

  • inlinescript
  • parallel
  • sequence
  • workflow

PowerShell-Workflows werden nur in PowerShell 5.1 unterstützt. Weitere Informationen zu Workflows finden Sie unter Ausführen von PowerShell-Befehlen in einem Workflow.

begin

Gibt einen Teil des Textkörpers einer Funktion zusammen mit den schlüsselwörtern dynamicparam, processund end an. Die Anweisungsliste begin wird einmal ausgeführt, bevor irgendwelche Objekte von der Pipeline empfangen werden.

Syntax:

function <name> {
    dynamicparam {<statement list>}
    begin {<statement list>}
    process {<statement list>}
    end {<statement list>}
}

break

Veranlasst ein Skript, eine Schleife zu verlassen.

Syntax:

while (<condition>) {
   <statements>
   ...

   break
   ...

   <statements>
}

catch

Gibt eine Auszuführende Anweisungsliste an, wenn in der zugehörigen try -Anweisungsliste ein Fehler auftritt. Für einen Fehlertyp sind eckige Klammern erforderlich. Das zweite Klammernpaar gibt an, dass der Fehlertyp optional ist.

Syntax:

try {<statement list>}
catch [[<error type>]] {<statement list>}

class

Gibt eine neue Klasse in PowerShell an.

Syntax:

class <class-name> {
    [[hidden] [static] <property-definition> ...]
    [<class-name>([argument-list>]) {<constructor-statement-list>} ...]
    [[hidden] [static] <method-definition> ...]
}

clean

Das schlüsselwort clean wurde in PowerShell 7.3 hinzugefügt. Das Schlüsselwort definiert einen Codeblock, der garantiert nach dem begin, process und end Blöcken einer Funktion ausgeführt wird. Im Gegensatz zum end-Block wird der clean-Block immer ausgeführt, auch wenn in einem der anderen Blöcke ein Beendigungsfehler auftritt.

continue

Bewirkt, dass ein Skript aufhört, eine Schleife auszuführen und zur Bedingung zurückkehrt. Wenn die Bedingung erfüllt ist, beginnt das Skript die Schleife von vorne.

Syntax:

while (<condition>) {
   <statements>
   ...

   continue
   ...

   <statements>
}

data

Definiert in einem Skript einen Abschnitt, der Daten aus der Skriptlogik isoliert. Kann auch if Anweisungen und einige begrenzte Befehle enthalten.

Syntax:

data <variable> [-SupportedCommand <cmdlet-name>] {<permitted content>}

do

Wird mit dem Schlüsselwort while oder until als Schleifenkonstrukt verwendet. PowerShell führt die Anweisungsliste mindestens einmal aus, im Gegensatz zu einer Schleife, die while verwendet.

Syntax für while:

do {<statement list>} while (<condition>)

Syntax für until:

do {<statement list>} until (<condition>)

dynamicparam

Gibt einen Teil des Textkörpers einer Funktion zusammen mit den schlüsselwörtern begin, processund end an. Dynamische Parameter werden zur Laufzeit hinzugefügt.

Syntax:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

else

Wird mit dem Schlüsselwort if verwendet, um die Standardanweisungsliste anzugeben.

Syntax:

if (<condition>) {<statement list>}
else {<statement list>}

elseif

Wird mit den Schlüsselwörtern if und else verwendet, um zusätzliche Bedingungen anzugeben. Das schlüsselwort else ist optional.

Syntax:

if (<condition>) {<statement list>}
elseif (<condition>) {<statement list>}
else {<statement list>}

end

Gibt einen Teil des Textkörpers einer Funktion zusammen mit den schlüsselwörtern dynamicparam, beginund end an. Die Anweisungsliste end wird ein Mal ausgeführt, nachdem alle Objekte von der Pipeline empfangen wurden.

Syntax:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

enum

enum wird verwendet, um eine Aufzählung zu deklarieren; ein bestimmter Typ, der aus einer Gruppe benannter Bezeichnungen besteht, die als Enumerationsliste bezeichnet wird.

Syntax:

enum <enum-name> {
    <label> [= <int-value>]
    ...
}

exit

Bewirkt, dass PowerShell ein Skript oder eine PowerShell-Instanz beendet.

Syntax:

exit
exit <exitcode>

Wenn Sie pwsh mit dem Parameter File verwenden, sollte die datei .ps1 (Skript) selbst Anweisungen zur Behandlung von Fehlern oder Ausnahmen enthalten, die während der Ausführung des Skripts auftreten. Sie sollten nur die exit-Anweisung verwenden, um den Status nach der Ausführung des Skripts anzugeben.

Unter Windows ist eine beliebige Zahl zwischen [int]::MinValue und [int]::MaxValue zulässig.

Auf Unix sind nur positive Zahlen zwischen [byte]::MinValue und [byte]::MaxValue zulässig. Eine negative Zahl im Bereich von -1 bis -255 wird automatisch in eine positive Zahl übersetzt, indem 256 hinzugefügt wird. Beispielsweise wird -2 in 254transformiert.

In PowerShell legt die exit-Anweisung den Wert der variablen $LASTEXITCODE fest. In der Windows-Befehlsshell (cmd.exe) legt die Exit-Anweisung den Wert der umgebungsvariablen %ERRORLEVEL% fest.

Jedes Argument, das nicht numerisch oder außerhalb des plattformspezifischen Bereichs ist, wird in den Wert 0übersetzt.

Im folgenden Beispiel legt der Benutzer den Variablenwert der Fehlerstufe auf 4 fest, indem exit 4 zur Skriptdatei test.ps1hinzugefügt wird.

C:\scripts\test>type test.ps1
1
2
3
exit 4

C:\scripts\test>pwsh -File ./test.ps1
1
2
3

C:\scripts\test>echo %ERRORLEVEL%
4

Wenn Sie pwsh.exe -File <path to a script> ausführen und die Skriptdatei mit einem exit Befehl beendet wird, wird der Beendigungscode auf das numerische Argument festgelegt, das mit dem Befehl exit verwendet wird. Wenn das Skript keine exit-Anweisung aufweist, wird der Beendigungscode immer 0, wenn das Skript ohne Fehler abgeschlossen wird, oder 1, wenn das Skript von einer unbehandelten Ausnahme beendet wird.

filter

Gibt eine Funktion an, in der die Anweisungsliste für jedes Eingabeobjekt einmal ausgeführt wird. Sie hat die gleiche Wirkung wie eine Funktion, die nur einen process-Block enthält.

Syntax:

filter <name> {<statement list>}

finally

Definiert eine Anweisungsliste, die nach den Anweisungen ausgeführt wird, die mit try und catch verknüpft sind. Eine finally-Anweisungsliste wird auch ausgeführt, wenn Sie STRG+C drücken, um ein Skript zu verlassen, oder wenn Sie das schlüsselwort exit im Skript verwenden.

Syntax:

try {<statement list>}
catch [<error type>] {<statement list>}
finally {<statement list>}

for

Definiert eine Schleife mit einer Bedingung.

Syntax:

for (<initialize>; <condition>; <iterate>) { <statement list> }

foreach

Definiert eine Schleife mit jedem Mitglied einer Sammlung.

Syntax:

foreach (<item> in <collection>) { <statement list> }

from

Reserviert für zukünftige Verwendung.

function

Erstellt eine benannte Anweisungsliste mit wiederverwendbarem Code. Sie können den Bereich benennen, zu dem eine Funktion gehört. Sie können auch einen oder mehrere benannte Parameter angeben, indem Sie das schlüsselwort param verwenden. In die Funktionsanweisungsliste können Sie dynamicparam-, begin-, process- und end-Anweisungslisten einfügen.

Syntax:

function [<scope:>]<name> {
   param ([type]<$PName1> [, [type]<$PName2>])
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

Sie haben auch die Möglichkeit, einen oder mehrere Parameter außerhalb der Anweisungsliste nach dem Funktionsnamen zu definieren.

Syntax:

function [<scope:>]<name> [([type]<$PName1>, [[type]<$PName2>])] {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

if

Definiert eine Bedingung.

Syntax:

if (<condition>) {<statement list>}

hidden

Blendet Klassenmitglieder aus den Standardergebnissen des Cmdlets Get-Member, IntelliSense und der Tab-Vervollständigungsergebnisse aus.

Syntax:

hidden [data type] $member_name

in

Wird in einer foreach-Anweisung verwendet, um eine Schleife zu erstellen, die jedes Mitglied einer Sammlung verwendet.

Syntax:

foreach (<item> in <collection>){<statement list>}

param

Definiert die Parameter in einer Funktion.

Syntax:

function [<scope:>]<name> {
   param ([type]<$PName1>[, [[type]<$PName2>]])
   <statement list>
}

process

Gibt einen Teil des Textkörpers einer Funktion zusammen mit den Schlüsselwörtern dynamicparam, beginund end an. Wenn eine process-Anweisungsliste Eingaben aus der Pipeline empfängt, wird die process-Anweisungsliste für jedes Element aus der Pipeline einmal ausgeführt. Wenn die Pipeline keine Objekte bereitstellt, wird die process Anweisungsliste nicht ausgeführt. Wenn der Befehl der erste Befehl in der Pipeline ist, wird die process-Anweisungsliste einmal ausgeführt.

Syntax:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

return

Veranlasst PowerShell, den aktuellen Geltungsbereich zu verlassen, z. B. ein Skript oder eine Funktion, und schreibt den optionalen Ausdruck in die Ausgabe.

Syntax:

return [<expression>]

static

Gibt an, dass die definierte Eigenschaft oder Methode allen Instanzen der Klasse gemeinsam ist, in der sie definiert ist.

Beispiele für die Verwendung finden Sie unter class.

switch

Verwenden Sie zum Überprüfen mehrerer Bedingungen eine switch-Anweisung. Die switch-Anweisung entspricht einer Reihe von if Anweisungen, ist aber einfacher.

Die switch-Anweisung listet jede Bedingung und eine optionale Aktion auf. Wenn eine Bedingung erfüllt ist, wird die Aktion ausgeführt.

Syntax 1:

switch [-Regex|-Wildcard|-Exact][-CaseSensitive] ( <value> )
{
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   ...

   default {<statement list>}
}

Syntax 2:

switch [-Regex|-Wildcard|-Exact][-CaseSensitive] -File <filename>
{
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   ...

   default {<statement list>}
}

throw

Wirft ein Objekt als Fehler.

Syntax:

throw [<object>]

trap

Definiert eine Anweisungsliste, die ausgeführt werden soll, wenn ein Fehler auftritt. Für einen Fehlertyp sind eckige Klammern erforderlich. Das zweite Klammernpaar gibt an, dass der Fehlertyp optional ist.

Syntax:

trap [[<error type>]] {<statement list>}

try

Definiert eine Anweisungsliste, die während der Ausführung der Anweisungen auf Fehler überprüft werden soll. Wenn ein Fehler auftritt, führt PowerShell die Ausführung in einer catch oder finally Anweisung fort. Für einen Fehlertyp sind eckige Klammern erforderlich. Das zweite Klammernpaar gibt an, dass der Fehlertyp optional ist.

Syntax:

try {<statement list>}
catch [[<error type>]] {<statement list>}
finally {<statement list>}

until

Wird in einer do-Anweisung als Schleifenkonstrukt verwendet, in dem die Anweisungsliste mindestens einmal ausgeführt wird.

Syntax:

do {<statement list>} until (<condition>)

using

Ermöglicht Ihnen anzugeben, welche Namespaces in der Sitzung verwendet werden. Typnamen, Klassen und Member erfordern weniger Eingaben, um auf sie zu verweisen. Sie können auch Klassen aus Modulen einschließen.

Namespace-Syntax:

using namespace <.NET-namespace>

Modul-Syntax:

using module <module-name>

Assembly-Syntax:

using assembly <.NET-assembly-path>

Weitere Informationen finden Sie unter about_Using.

while

Die while-Anweisung ist ein Schleifenkonstrukt, in dem die Bedingung getestet wird, bevor die Anweisungen ausgeführt werden. Wenn die Bedingung falsch ist, werden die Anweisungen nicht ausgeführt.

Anweisungs-Syntax:

while (<condition>) {
   <statements>
 }

Bei Verwendung in einer do-Anweisung ist while Teil eines Schleifenkonstrukts, in dem die Anweisungsliste mindestens einmal ausgeführt wird.

do Schleifen-Syntax:

do {<statement list>} while (<condition>)

Siehe auch