about_Language_Keywords

Kurze Beschreibung

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

Lange Beschreibung

PowerShell verfügt über die folgenden Sprachstichwörter. Weitere Informationen finden Sie im Thema für das Schlüsselwort und die Informationen, die der Tabelle folgen.

Stichwort 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 zukünftige 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 zukünftige 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 zukünftige Verwendung reserviert
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 , und end den dynamicparamprocessSchlüsselwörtern an. Die begin Anweisungsliste wird einmal ausgeführt, bevor objekte aus 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 beendet.

Syntax:

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

   break
   ...

   <statements>
}

catch

Gibt eine Anweisungsliste an, die ausgeführt werden soll, wenn in der zugehörigen try Anweisungsliste ein Fehler auftritt. Ein Fehlertyp erfordert Klammern. 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ückzukehren. 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 als Schleifenkonstrukt verwendet. PowerShell führt die Anweisungsliste mindestens einmal aus, im Gegensatz zu einer Schleife, die verwendet wird while.

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 , und end den beginprocessSchlüsselwörtern 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 verwendet, um die Standardausweisungsliste anzugeben.

Syntax:

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

elseif

Wird mit den if Stichwörtern verwendet else , um zusätzliche Bedingungen anzugeben. Das else Schlüsselwort 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 , und end den dynamicparambeginSchlüsselwörtern an. Die end Anweisungsliste wird einmal ausgeführt, nachdem alle Objekte aus 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 Enumeration zu deklarieren; ein eindeutiger Typ, der aus einer Reihe benannter Bezeichnungen besteht, die als Enumerationsliste bezeichnet werden.

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" verwendenpwsh, sollte die .ps1 Datei 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 sind zulässig. Eine negative Zahl im Durchlaufbereich -1-255 wird automatisch in eine positive Zahl übersetzt, indem 256 hinzugefügt wird. Beispielsweise -2 wird in " transformiert" 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% Umgebungsvariable fest.

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

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 Exitcode 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 einmal für jedes Eingabeobjekt ausgeführt wird. Es hat denselben Effekt wie eine Funktion, die nur einen process Block enthält.

Syntax:

filter <name> {<statement list>}

finally

Definiert eine Anweisungsliste, die nach Anweisungen ausgeführt wird, die mit try und .catch Eine finally Anweisungsliste wird auch ausgeführt, wenn Sie STRG+C drücken, um ein Skript zu verlassen oder wenn Sie das exit Schlüsselwort 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 mithilfe des param Schlüsselworts angeben. In der Funktions-Anweisungsliste können Sie Listen , , , und end Anweisungslisten einschließen.dynamicparambeginprocess

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 Get-Member Cmdlets, IntelliSense und der Abschlussergebnisse der Registerkarte 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 Schlüsselwörtern , und end den dynamicparambeginSchlüsselwörtern an. Wenn eine process Anweisungsliste Eingaben aus der Pipeline empfängt, wird die process Anweisungsliste einmal für jedes Element aus der Pipeline 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 verlä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 an, die für alle Instanzen der Klasse verwendet wird, in der sie definiert ist.

Weitere Informationen finden Sie unter class Verwendungsbeispiele.

switch

Verwenden Sie eine switch Anweisung, um mehrere Bedingungen zu überprüfen. Die switch Anweisung entspricht einer Reihe von if Anweisungen, ist jedoch einfacher.

Die switch Anweisung listet jede Bedingung und eine optionale Aktion auf. Wenn eine Bedingung abruft, 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 aufgetreten ist. Ein Fehlertyp erfordert Klammern. 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 finally anweisung ausgeführt. Ein Fehlertyp erfordert Klammern. 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, bei dem die Anweisungsliste mindestens einmal ausgeführt wird.

Syntax:

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

using

Ermöglicht Es Ihnen, anzugeben, welche Namespaces in der Sitzung verwendet werden. Typnamen, Klassen und Member erfordern weniger Eingaben, um darauf 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 werden, ist Teil eines Schleifenkonstrukts, while bei dem die Anweisungsliste mindestens einmal ausgeführt wird.

do Loopsyntax:

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

Siehe auch