about_Language_Keywords

Kurze Beschreibung

Beschreibt die Schlüsselwort (keyword) in der PowerShell-Skriptsprache.

Lange Beschreibung

PowerShell verfügt über die folgende Sprache Schlüsselwort (keyword)s. Weitere Informationen finden Sie im Thema zu den Schlüsselwort (keyword) und den Informationen, die der Tabelle folgen.

Schlüsselwort Verweis
begin about_Functions, about_Functions_Advanced
break about_Break, about_Trap
catch about_Try_Catch_Finally
class about_Classes
continue about_Continue, about_Trap
data about_Data_Sections
define Für die spätere Verwendung reserviert
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 In diesem Thema beschrieben
filter about_Functions
finally about_Try_Catch_Finally
for about_For
foreach about_ForEach
from Für die spätere Verwendung reserviert
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 about_Try_Catch_Finally
until about_Do
using about_Using, about_Classes
var Für die spätere Verwendung reserviert
while about_While, about_Do

Die folgenden Schlüsselwort (keyword) 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 dynamicparam, processund end Schlüsselwort (keyword)s an. Die Anweisungsliste begin wird einmal ausgeführt, bevor objekte von der Pipeline empfangen werden.

Syntax:

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

break

Bewirkt, dass ein Skript eine Schleife verlässt.

Syntax:

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

   break
   ...

   <statements>
}

catch

Gibt eine Auszuführende Anweisungsliste an, wenn in der zugehörigen Anweisungsliste try 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> ...]
}

continue

Bewirkt, dass ein Skript die Ausführung einer Schleife beendet und zur Bedingung zurückkehrt. Wenn die Bedingung erfüllt ist, beginnt das Skript erneut mit der Schleife.

Syntax:

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

   continue
   ...

   <statements>
}

data

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

Syntax:

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

do

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

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 begin, processund end Schlüsselwort (keyword)s 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 if Schlüsselwort (keyword) verwendet, um die Standard-Anweisungsliste anzugeben.

Syntax:

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

elseif

Wird zusammen mit den if und else Schlüsselwort (keyword) verwendet, um zusätzliche Bedingungen anzugeben. Die else Schlüsselwort (keyword) 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 dynamicparam, beginund end Schlüsselwort (keyword)s an. Die Anweisungsliste end wird einmal 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 mit dem Parameter "File" arbeitenpwsh, sollte die .ps1 (Skript)-Datei selbst Anweisungen zur Behandlung von Fehlern oder Ausnahmen enthalten, die während der Ausführung des Skripts auftreten. Sie sollten die exit Anweisung nur verwenden, um den Status nach der Ausführung des Skripts anzugeben.

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

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

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

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

Im folgenden Beispiel legt der Benutzer den Variablenwert der Fehlerebene auf 4 fest, indem er der Skriptdatei test.ps1hinzufügtexit 4.

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 ausführen pwsh.exe -File <path to a script> und die Skriptdatei mit einem exit Befehl beendet wird, wird der Beendigungscode auf das numerische Argument festgelegt, das mit dem exit Befehl verwendet wird. Wenn das Skript keine exit Anweisung hat, ist der Exit-Code immer 0 dann, wenn das Skript ohne Fehler abgeschlossen wird oder 1 wenn das Skript von einer nicht behandelten 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 Anweisungen ausgeführt wirdtry, die mit und .catch Eine finally Anweisungsliste wird auch ausgeführt, wenn Sie STRG+C drücken, um ein Skript zu verlassen, oder wenn Sie die exit Schlüsselwort (keyword) 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 Element einer Auflistung.

Syntax:

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

from

Für die zukünftige Verwendung reserviert.

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 die param Schlüsselwort (keyword) verwenden. In der Funktions-Anweisungsliste können Sie Listen mit , begin, , processund end Anweisung einschließendynamicparam.

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 Klassenmber aus den Standardergebnissen des Get-Member Cmdlets, IntelliSense und der Ergebnisse der Registerkartenvervollständigung aus.

Syntax:

hidden [data type] $member_name

in

Wird in einer foreach Anweisung verwendet, um eine Schleife zu erstellen, die jedes Element einer Auflistung 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 dynamicparam, beginund end Schlüsselwort (keyword)s an. Wenn eine process Anweisungsliste Eingaben von 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

Bewirkt, dass PowerShell den aktuellen Bereich belässt, z. B. ein Skript oder eine Funktion, und schreibt den optionalen Ausdruck in die Ausgabe.

Syntax:

return [<expression>]

static

Gibt die definierte Eigenschaft oder Methode für alle Instanzen der Klasse an, in der sie definiert ist.

Beispiele für die Verwendung finden Sie class unter.

switch

Verwenden Sie eine switch Anweisung, um mehrere Bedingungen zu überprüfen. 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 erhalten wird, 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

Löst ein Objekt als Fehler aus.

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, wird PowerShell weiterhin in einer catch Oder-Anweisung finally ausgeführt. 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.

Namespacesyntax:

using namespace <.Net-namespace>

Modulsyntax:

using module <module-name>

Assemblysyntax:

using assembly <.NET-assembly-path>

Weitere Informationen finden Sie unter about_Using.

while

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

Anweisungssyntax:

while (<condition>) {
   <statements>
 }

Wenn sie in einer do Anweisung verwendet wird, ist ein Teil eines Schleifenkonstrukts, while in dem die Anweisungsliste mindestens einmal ausgeführt wird.

do Loopsyntax:

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

Weitere Informationen