Freigeben über


about_Language_Keywords

Kurze Beschreibung

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

Lange Beschreibung

PowerShell verfügt über die folgenden Sprachschlüsselwörter. Weitere Informationen finden Sie im Thema "About" für die Schlüsselwort (keyword) und den Informationen, die der Tabelle folgen.

Stichwort Referenz
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 dynamicparamSchlüsselwörtern , processund end an. Die begin Anweisungsliste 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 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ückkehrt. Wenn die Bedingung erfüllt ist, beginnt das Skript die Schleife erneut.

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 im Gegensatz zu einer Schleife, die verwendet while, mindestens einmal aus.

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 beginSchlüsselwörtern , 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 if Schlüsselwort (keyword) verwendet, um die Standardanweisungenliste anzugeben.

Syntax:

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

elseif

Wird mit den if Schlüsselwörtern und else 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 dynamicparamSchlüsselwörtern , beginund end an. Die end Anweisungsliste 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 Enumeration zu deklarieren; ein eindeutiger Typ, der aus einer Reihe benannter Bezeichnungen besteht, die als Enumeratorliste bezeichnet werden.

Syntax:

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

exit

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

Syntax:

exit
exit <exitcode>

Wenn Sie mit dem File-Parameter verwendenpwsh, sollte die .ps1 (Skript-)Datei selbst Anweisungen zum Behandeln von Fehlern oder Ausnahmen enthalten, die während der Ausführung des Skripts auftreten. Sie sollten nur die exit -Anweisung verwenden, um die nach der Ausführung status des Skripts anzugeben.

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

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

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 numerisch oder außerhalb des plattformspezifischen Bereichs ist, wird in den Wert von 0übersetzt.

Im folgenden Beispiel legt der Benutzer den Wert der Variablen auf 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 Exitcode immer 0 dann, wenn das Skript ohne Fehler abgeschlossen wird oder 1 wenn das Skript aufgrund 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 den gleichen 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 und trycatchzugeordnet sind. 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 unter Verwendung jedes Members einer Auflistung.

Syntax:

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

from

Für die zukünftige Verwendung reserviert.

function

Erstellt eine Liste mit benannten Anweisungen mit wiederverwendbarem Code. Sie können den Bereich benennen, zu dem eine Funktion gehört. Sie können auch einen oder mehrere benannte Parameter mit dem param Schlüsselwort (keyword) angeben. In der Funktionsanweisungenliste können Sie - , begin- processund end -Anweisungslisten 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 Klassenmember aus den Standardergebnissen des Get-Member Cmdlets, IntelliSense und Tabulatorvervollständigungsergebnisses 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 dynamicparamSchlüsselwörtern , beginund end an. Wenn eine Anweisungsliste process Eingaben von 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 an, dass die definierte Eigenschaft oder Methode allen Instanzen der Klasse gemeinsam ist, in der sie definiert ist.

Nutzungsbeispiele 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 abgerufen 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. 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 in einer catch - oder finally -Anweisung weiter 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 ihnen das Angeben, 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 false ist, werden die Anweisungen nicht ausgeführt.

Anweisungssyntax:

while (<condition>) {
   <statements>
 }

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

do Schleifensyntax:

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

Weitere Informationen