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.
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 dynamicparam
Schlüsselwörtern , process
und 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 begin
Schlüsselwörtern , process
und 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 dynamicparam
Schlüsselwörtern , begin
und 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 254
transformiert.
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.ps1
hinzufü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 try
catch
zugeordnet 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
- process
und 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 dynamicparam
Schlüsselwörtern , begin
und 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>)