Alles, was Sie über die if-Anweisung wissen wollten

  • 23.05.2020
  • 18 Minuten zum Lesen
    • j
    • x
    • t
    • D
    • s

Wie viele andere Sprachen enthält PowerShell Anweisungen zum bedingten Ausführen von Code in yourscripts. Eine dieser Aussagen ist die If-Anweisung., Heute werden wir einen tiefen Einblick in eine vondie grundlegendsten Befehle in PowerShell.

Hinweis

Die Originalversion dieses Artikels erschien auf dem Blog von @KevinMarquette. ThePowerShell Team dankt Kevin für den Austausch dieser Inhalte mit uns. Bitte schauen Sie sich seinen Blog an atPowerShellExplained.com.

Bedingte Ausführung

Ihre Skripte müssen häufig Entscheidungen treffen und basierend auf diesen Entscheidungen eine andere Logik ausführen.Das meine ich mit bedingter Ausführung., Sie müssen eine Anweisung oder einen Wert auswerten, dannexecute einen anderen Codeabschnitt basierend auf dieser Auswertung. Dies ist genau das, was die if – Anweisung macht.

Die if-Anweisung

Hier ist ein grundlegendes Beispiel für dieif – Anweisung:

$condition = $trueif ( $condition ){ Write-Output "The condition was true"}

Als erstes ausgewertet die if – Anweisung den Ausdruck in Klammern. Wenn es evaluatesto $true„, dann führt er die scriptblock in den geschweiften Klammern., Wenn der Wert $false, würde er diesen Scriptblock überspringen.

Im vorherigen Beispiel hat die Anweisung if nur die Variable $condition ausgewertet. Es war$true und hätte den Befehl Write-Output im scriptblock ausgeführt.

In einigen Sprachen können Sie eine einzelne Codezeile nach der if – Anweisung platzieren und diese wird verfolgt. Das ist in PowerShell nicht der Fall. Sie müssen eine vollständige scriptblock mit Klammern angeben, damit sie korrekt funktionieren.,

Vergleichsoperatoren

Die häufigste Verwendung der if – Anweisung besteht darin, zwei Elemente miteinander zu vergleichen. PowerShell hatspezielle Operatoren für verschiedene Vergleichsszenarien. Wenn Sie einen Vergleichsoperator verwenden, der Wertauf der linken Seite wird mit dem Wert auf der rechten Seite verglichen.

– eq für Gleichheit

Die -eq führt eine Gleichheitsprüfung zwischen zwei Werten durch, um sicherzustellen, dass sie gleich sind.,

$value = Get-MysteryValueif ( 5 -eq $value ){ # do something}

In diesem Beispiel nehme ich einen bekannten Wert von 5 und vergleiche ihn mit meiner $value, um zu sehen, ob sie übereinstimmen.

Ein möglicher Anwendungsfall besteht darin, den Status eines Werts zu überprüfen, bevor Sie eine Aktion ausführen. Sie können einen Dienst erstellen und überprüfen, ob der Status ausgeführt wurde, bevor Sie Restart-Service Restart-Service.

In anderen Sprachen wie C# ist es üblich, == für die Gleichheit zu verwenden (z. B. 5 == $value), aber das funktioniert nicht mit PowerShell., Ein weiterer häufiger Fehler, den Benutzer machen, ist die Verwendung des Gleichheitszeichens (z. B.5 = $value), das für die Zuweisung von Werten zu Variablen reserviert ist. Indem Sie Ihren bekannten Wert auf theleft setzen, macht es diesen Fehler unangenehmer zu machen.

Dieser Operator (und andere) hat einige Variationen.,

  • -eq groß- / Kleinschreibung Gleichheit
  • -ieq groß- / Kleinschreibung Gleichheit
  • -ceq groß-und Kleinschreibung Gleichheit

-ne not equal

Viele Betreiber haben einen zugehörigen operator, der prüft, für das gegenteilige Ergebnis. -ne überprüft, ob die Werte nicht gleich sind.

if ( 5 -ne $value ){ # do something}

Hiermit stellen Sie sicher, dass die Aktion nur ausgeführt wird, wenn der Wert nicht 5ist., Ein guter Anwendungsfall wäre zu überprüfen, ob sich ein Dienst im laufenden Zustand befindet, bevor Sie versuchen, ihn zu starten.

Variationen:

  • -ne Groß-und Kleinschreibung nicht gleich
  • -ine Groß-und Kleinschreibung nicht gleich
  • -cne Groß-und Kleinschreibung nicht gleich

Dies sind inverse Variationen von -eq. Ich gruppiere diese Typen zusammen, wenn ich variationsfor andere Operatoren aufliste.,

– gt-ge-lt-le für größer oder kleiner als

Diese Operatoren werden bei der Überprüfung verwendet, um festzustellen, ob ein Wert größer oder kleiner als ein anderer Wert ist.Die -gt -ge -lt -le steht für GreaterThan, GreaterThanOrEqual, LessThan und LessThanOrEqual.,größer als oder gleich, Groß-und Kleinschreibung

  • -cge größer oder gleich, Groß-und Kleinschreibung
  • -lt kleiner als
  • -ilt kleiner als, Groß-und Kleinschreibung
  • -clt weniger groß-und Kleinschreibung
  • -le kleiner oder gleich
  • -ile kleiner oder gleich, Groß-und Kleinschreibung
  • -cle kleiner oder gleich, Groß-und Kleinschreibung
  • Ich weiß nicht, warum Sie Groß-und Kleinschreibung Optionen verwenden würden für diese Betreiber.,

    -wie wildcard-Spiele

    PowerShell hat Ihren eigenen Platzhalter-basierten pattern-matching-syntax, und Sie können es verwenden, mit die -likeoperator. Diese Platzhaltermuster sind ziemlich einfach.

    • ? entspricht einem einzelnen Zeichen
    • * entspricht einer beliebigen Anzahl von Zeichen
    $value = 'S-ATX-SQL01'if ( $value -like 'S-*-SQL??'){ # do something}

    Es ist wichtig darauf hinzuweisen, dass das Muster mit der gesamten Zeichenfolge übereinstimmt. Wenn Sie matchsomething in der Mitte der Zeichenfolge benötigen, müssen Sie die * an beiden Enden des Strings platzieren.,e“>

    Variationen:

    • -like Groß-und Kleinschreibung
    • -ilike Groß-und Kleinschreibung
    • -clike Groß-und Kleinschreibung
    • -notlike groß-und Kleinschreibung wildcard not matched
    • -inotlike Groß-und Kleinschreibung wildcard not matched
    • -cnotlike Groß-und Kleinschreibung wildcard not matched

    -match regular expression

    Mit dem Operator -match können Sie eine Zeichenfolge auf einen regulären ausdruck-basierte Übereinstimmung., Verwenden Sie dies, wenn die Platzhaltermuster nicht flexibel genug für Sie sind.

    $value = 'S-ATX-SQL01'if ( $value -match 'S-\w\w\w-SQL\d\d'){ # do something}

    Ein Regex-Muster stimmt standardmäßig mit einer beliebigen Stelle in der Zeichenfolge überein. Sie können also einen Teilstring angeben, denSie möchten wie folgt übereinstimmen:

    $value = 'S-ATX-SQL01'if ( $value -match 'SQL'){ # do something}

    Regex ist eine komplexe Sprache für sich und einen Blick wert. Ich spreche mehr über -match unddie vielen Möglichkeiten, Regex in einem anderen Artikel zu verwenden.,

    Variations:

    • -match case-insensitive regex
    • -imatch case-insensitive regex
    • -cmatch case-sensitive regex
    • -notmatch case-insensitive regex not matched
    • -inotmatch case-insensitive regex not matched
    • -cnotmatch case-sensitive regex not matched

    -is of type

    You can check a value’s type with the -is operator.,

    if ( $value -is ){ # do something}

    Sie können dies verwenden, wenn Sie mit Klassen arbeiten oder verschiedene Objekte über die Pipeline akzeptieren. Youcould haben entweder einen service oder service-Namen als Ihre Eingabe. Überprüfen Sie dann, ob Sie einen Dienst habenund rufen Sie den Dienst ab, wenn Sie nur den Namen haben.,

    if ( $Service -isnot ){ $Service = Get-Service -Name $Service}

    Variationen:

    • -is vom Typ
    • -isnot nicht vom Typ

    Sammlungsoperatoren

    Wenn Sie die vorherigen Operatoren mit einem einzigen Wert verwenden, lautet das Ergebnis $true oder $false. Dies wird bei der Arbeit mit einer Sammlung etwas anders gehandhabt. Jedes Element in der Sammlung wird bewertet und der Operator gibt jeden Wert zurück, der als $trueausgewertet wird.,

    PS> 1,2,3,4 -eq 33

    Dies funktioniert immer noch korrekt in einer if Anweisung. So wird ein Wert von Ihrem Operator zurückgegeben, dann diewhole Anweisung ist $true.

    $array = 1..6if ( $array -gt 3 ){ # do something}

    Hier versteckt sich eine kleine Falle in den Details, auf die ich hinweisen muss. Wenn Sie den Operator -neauf diese Weise verwenden, ist es einfach, die Logik fälschlicherweise rückwärts zu betrachten. Die Verwendung von -ne mit acollection gibt $true wenn ein Element in der Sammlung nicht mit Ihrem Wert übereinstimmt.,

    PS> 1,2,3 -ne 4123

    Dies mag wie ein cleverer Trick aussehen, aber wir haben Operatoren -contains und -in, die dies mehr handhabeneffektiv. Und -notcontains macht das, was Sie erwarten.

    – enthält

    Der Operator -contains überprüft die Auflistung auf Ihren Wert. Sobald es eine Übereinstimmung findet, kehrt es $true.

    $array = 1..6if ( $array -contains 3 ){ # do something}

    Dies ist der bevorzugte Weg, um zu sehen, ob eine Sammlung Ihren Wert enthält., Die Verwendung von Where-Object (oder-eq) durchläuft jedes Mal die gesamte Liste und ist erheblich langsamer.,

    Variationen:

    • -contains Groß-und Kleinschreibung
    • -icontains Groß-und Kleinschreibung
    • -ccontains Groß-und Kleinschreibung
    • -notcontains Groß-und Kleinschreibung
    • -inotcontains case-insensitive not matched
    • -cnotcontains case-sensitive not matched

    -in

    Der -inOperator ist genau wie der -contains operator außer der Sammlung befindet sich auf der rechten Seite.,

    $array = 1..6if ( 3 -in $array ){ # do something}

    Variations:

    • -in case-insensitive match
    • -iin case-insensitive match
    • -cin case-sensitive match
    • -notin case-insensitive not matched
    • -inotin case-insensitive not matched
    • -cnotin case-sensitive not matched

    Logical operators

    Logical operators are used to invert or combine other expressions.,

    – nicht

    Der Operator -not wechselt einen Ausdruck von $false zu $true oder von $true zu $false. Hier ist ein Beispiel, in dem wir eine Aktion ausführen möchten, wenn Test-Path $false.

    if ( -not ( Test-Path -Path $path ) )

    Die meisten Operatoren, über die wir gesprochen haben, haben eine Variation, bei der Sie den Operator -notnicht verwenden müssen. Aber es gibt immer noch Zeiten, in denen es nützlich ist.

    !, operator

    Sie können ! als Alias für -notverwenden.

    if ( -not $value ){}if ( !$value ){}

    Möglicherweise wird ! häufiger von Personen verwendet, die aus anderen Sprachen wie C#stammen. Ich ziehe es vor, es einzutippen, weil ich es schwer zu sehen finde, wenn ich mir schnell meine Skripte ansehe.

    – und

    Sie können Ausdrücke mit dem Operator -and kombinieren. Wenn Sie dies tun, müssen beide Seiten$true, damit der gesamte Ausdruck $true.,

    if ( ($age -gt 13) -and ($age -lt 55) )

    In diesem Beispiel muss $age 13 oder älter für die linke Seite und weniger als 55 für die rechte Seite sein. Ich habe zusätzliche Klammern hinzugefügt, um es in diesem Beispiel klarer zu machen, aber sie sind optional, solange der Ausdruck einfach ist. Hier ist das gleiche Beispiel ohne Sie.

    if ( $age -gt 13 -and $age -lt 55 )

    Auswertung erfolgt von Links nach rechts. Wenn das erste Element mit $false ausgewertet wird, wird es vorzeitig beendet und führt nicht den richtigen Vergleich durch. Dies ist praktisch, wenn Sie sicherstellen müssen, dass ein Wert vorhanden ist, bevor Sie ihn verwenden., Zum Beispiel gibt Test-Path einen Fehler aus, wenn Sie ihm einen $null Pfad geben.

    if ( $null -ne $path -and (Test-Path -Path $path) )

    – oder

    Mit der -or können Sie zwei Ausdrücke angeben und $true wenn einer von ihnen$true.

    if ( $age -le 13 -or $age -ge 55 )

    Genau wie beim Operator -and erfolgt die Auswertung von links nach rechts., Außer dass, wenn der erste Teil $true, dann ist die ganze Anweisung $true und es verarbeitet nicht den Rest derexpression.

    Beachten Sie auch, wie die Syntax für diese Operatoren funktioniert. Sie benötigen zwei separate Ausdrücke. Ich habe gesehen, dass Benutzer versuchen, so etwas zu tun $value -eq 5 -or 6 ohne ihren Fehler zu bemerken.

    – xor exklusiv oder

    Dieser ist etwas ungewöhnlich. -xor erlaubt nur einen Ausdruck zu $trueauszuwerten., Wenn also beide Elemente $false oder beide Elemente $true, lautet der gesamte Ausdruck $false. Eine andere Möglichkeit, dies zu betrachten, ist der Ausdruck ist nur $true wenn die Ergebnisse des Ausdrucks unterschiedlich sind.

    Es ist selten, dass jemand diesen logischen Operator jemals verwenden würde, und ich kann mir kein gutes Beispiel als towhy ausdenken, das ich jemals verwenden würde.

    Bitweise Operatoren

    Bitweise Operatoren führen Berechnungen für die Bits innerhalb der Werte durch und erzeugen einen neuen Wert als theresult., Das Unterrichten von bitweisen Operatoren geht über den Rahmen dieses Artikels hinaus, aber hier ist die Liste thethem.

    • -band binär UND
    • -bor binär ODER
    • -bxor binär exklusiv ODER
    • -bnot binär NICHT
    • -shl shift left
    • -shr shift right

    PowerShell-Ausdrücke

    Wir können normale PowerShell in der condition-Anweisung verwenden.,

    if ( Test-Path -Path $Path )

    Test-Path gibt $true oder $false zurück, wenn es ausgeführt wird. Dies gilt auch für Befehle, die zurückgebenandere Werte.

    if ( Get-Process Notepad* )

    Es wird ausgewertet $true wenn ein zurückgegebener Prozess vorhanden ist, und $false wenn es etwas gibt., Es ist vollkommen gültig, Pipeline-Ausdrücke oder andere PowerShell-Anweisungen wie diese zu verwenden:

    if ( Get-Process | Where Name -eq Notepad )

    Diese Ausdrücke können miteinander kombiniert werden mit den Operatoren -and und -or, aber möglicherweise müssen Sie Klammern verwenden, um sie in Unterausdrücke aufzuteilen.

    if ( (Get-Process) -and (Get-Service) )

    Die Überprüfung auf $null

    Ohne Ergebnis oder $null Wert ergibt $false in der if Anweisung., Wenn Sie speziell nach $null, ist es eine bewährte Methode, die $null auf der linken Seite zu platzieren.

    if ( $null -eq $value )

    Es gibt einige Nuancen beim Umgang mit $null Werten in PowerShell. Wenn Sie daran interessiert sind, tiefer zu tauchen, habe ich einen Artikel über alles, was Sie über $null wissen wollten.

    Variablenzuweisung

    Ich hätte fast vergessen, diese hinzuzufügen, bis Prasoon Karunan V mich daran erinnerte.,

    if ($process=Get-Process notepad -ErrorAction ignore) {$process} else {$false}

    Normalerweise wird der Wert beim Zuweisen eines Werts zu einer Variablen nicht an die Pipeline orconsole übergeben. Wenn Sie eine Variablenzuweisung in einem Unterausdruck ausführen, wird sie an thepipeline übergeben.

    PS> $first = 1PS> ($second = 2)2

    Sehen Sie, wie die$first Zuordnung keine Ausgabe hat und die$second Zuordnung tut? Wenn eine Zuweisung in einer if – Anweisung erfolgt, wird sie genau wie die obige $second – Zuweisung ausgeführt., Hier ist ein sauberes Beispiel, wie Sie es verwenden können:

    if ( $process = Get-Process Notepad* ){ $process | Stop-Process}

    Wenn $process einen Wert zugewiesen wird, lautet die Anweisung $true und $process wird gestoppt.

    Stellen Sie sicher, dass Sie dies nicht mit -eq verwechseln, da dies keine Gleichheitsprüfung ist. Dies ist eine moreobscure-Funktion, die die meisten Menschen nicht erkennen, funktioniert auf diese Weise.,

    Alternativer Ausführungspfad

    Mit der if – Anweisung können Sie eine Aktion nicht nur angeben, wenn die Anweisung $true ist, sondern auch, wenn sie $falseist. Hier kommt die else Anweisung ins Spiel.

    else

    Dieelse Anweisung ist immer der letzte teil derif anweisung, wenn verwendet.

    In diesem Beispiel überprüfen wir die $path, um sicherzustellen, dass es sich um eine Datei handelt. Wenn wir die Datei finden, verschieben wir sie. Wenn nicht, schreiben wir eine Warnung., Diese Art der Verzweigungslogik ist sehr verbreitet.

    Verschachtelt if

    Dieif undelse Anweisungen nehmen einen Skriptblock an, sodass wir jeden PowerShell-Befehl darin platzieren können, einschließlich einer anderenif Anweisung. Dadurch können Sie viel kompliziertere Logik verwenden.

    In diesem Beispiel testen wir zuerst den Happy Path und ergreifen dann Maßnahmen. Wenn dies fehlschlägt, tun wireine weitere Überprüfung und um dem Benutzer detailliertere Informationen zur Verfügung zu stellen.

    elseif

    Wir beschränken uns nicht nur auf eine einzige bedingte Prüfung., Wir können if und else statementstogether anstatt sie mit der elseif Anweisung zu verschachteln.

    Die Ausführung erfolgt von oben nach unten. Die Anweisung top if wird zuerst ausgewertet. Wenn das $false ist, geht es zum nächsten elseif oder else in der Liste. Diese letzte else ist die Default-Aktion, wenn keiner der anderen $truezurückgibt.,

    switch

    An dieser Stelle muss ich die switch Anweisung erwähnen. Es bietet eine alternative Syntax für doingmultiple Vergleiche mit einem Wert. Mit der switch geben Sie einen Ausdruck an und dieses Ergebnis wird mit mehreren verschiedenen Werten verglichen. Wenn einer dieser Werte übereinstimmt, wird der übereinstimmende Codeblock verfolgt. Schauen Sie sich dieses Beispiel an:

    $itemType = 'Role'switch ( $itemType ){ 'Component' { 'is a component' } 'Role' { 'is a role' } 'Location' { 'is a location' }}

    Es gibt drei mögliche Werte, die mit der $itemTypeübereinstimmen können. In diesem Fall stimmt es mit Role., Ich habe ein einfaches Beispiel verwendet, um Ihnen einen Einblick in den Operator switch zu geben. Ich Rede moreabout alles, was Sie schon immer wissen wollten, über die switch-Anweisung in einem anderen Artikel.

    Pipeline

    Die Pipeline ist ein einzigartiges und wichtiges Merkmal von PowerShell. Jeder Wert, der nicht suppressedor einer Variablen zugewiesen ist, wird in die Pipeline eingefügt. Die if bietet uns eine Möglichkeit, die Pipeline auf eine Weise zu nutzen, die nicht immer offensichtlich ist.,

    $discount = if ( $age -ge 55 ){ Get-SeniorDiscount}elseif ( $age -le 13 ){ Get-ChildDiscount}else{ 0.00}

    Jeder Skriptblock platziert die Ergebnisse der Befehle oder den Wert in die Pipeline. Dann weisen wir zudas Ergebnis derif Anweisung an die$discount Variable. Dieses Beispiel könnte diese Werte genauso einfach der Variablen $discount direkt in jedem Scriptblock zugewiesen haben. Ich kann nicht sagen, dass ich dies häufig mit der Anweisung if verwende, aber ich habe ein Beispiel, in dem ich dies kürzlich verwendet habe.,

    Array inline

    Ich habe eine Funktion namens Invoke-SnowSQL, die eine ausführbare Datei mit mehreren Befehls-linearguments startet. Hier ist ein Clip von dieser Funktion, in dem ich das Array von Argumenten erstelle.

    Die Variablen und $Path sind Parameter der Funktion, die vom Endbenutzer bereitgestellt werden.Ich bewerte sie inline innerhalb der Initialisierung meines Arrays aus. Wenn wahr ist, dann fallen diese valuesfall in die $snowSqlParam an der richtigen Stelle. Gleiches gilt für die Variable $Path.,

    Vereinfachen Sie komplexe Operationen

    Es ist unvermeidlich, dass Sie in eine Situation geraten, in der viel zu viele Vergleiche zu überprüfen sind, und IhreIf Anweisung scrollt weit von der rechten Seite des Bildschirms.

    Sie können schwer zu lesen sein und machen Sie anfälliger für Fehler. Es gibt ein paar Dinge, die wir dagegen tun können.

    Zeilenfortsetzung

    Es gibt einige Operatoren in PowerShell, mit denen Sie Ihren Befehl in die nächste Zeile einfügen können., Die logicaloperators -and und -or sind gute Operatoren, wenn Sie Ihren Ausdruck in mehrere Zeilen aufteilen möchten.

    Da ist noch viel los, aber jedes Stück auf seine eigene Linie zu setzen macht einen großen Unterschied.Ich benutze dies im Allgemeinen, wenn ich mehr als zwei Vergleiche erhalte oder wenn ich nach rechts scrollen muss, um eine der Logik zu lesen.

    Vorberechnungsergebnisse

    Wir können diese Anweisung aus der if Anweisung nehmen und nur das Ergebnis überprüfen.

    Das fühlt sich einfach viel sauberer an als im vorherigen Beispiel., Sie haben auch die Möglichkeit, einen variablen Namen zu verwenden, der erklärt, was Sie wirklich überprüfen. Dies ist auch ein Beispiel für selbstdokumentierender Code, der unnötige Kommentare speichert.

    Mehrere if-Anweisungen

    Wir können dies in mehrere Anweisungen aufteilen und sie einzeln überprüfen. In diesem Fall verwenden wir aflag oder eine tracking-variable, um die Ergebnisse zu kombinieren.

    Ich musste die Logik invertieren, damit die Flag-Logik korrekt funktioniert. Jede Auswertung ist eine individuelleif Anweisung., Der Vorteil davon ist, dass Sie beim Debuggen genau sagen können, was die Logik tut. Ich konnte gleichzeitig viel bessere Ausführlichkeit hinzufügen.

    Der offensichtliche Nachteil ist, dass es so viel mehr code zu schreiben. Der Code ist komplexer zu betrachten, da er eine einzelne Logikzeile benötigt und in 25 oder mehr Zeilen explodiert.

    Mit den Funktionen

    können wir auch die gesamte Validierungslogik in eine Funktion verschieben. Schau dir an, wie sauber das bei aglance aussieht.,

    if ( Test-SecureDriveConfiguration -ADUser $user ){ # do something}

    Sie müssen immer noch die Funktion erstellen, um die Validierung durchzuführen, aber es erleichtert das Arbeiten mit diesem Code erheblich. Es macht diesen Code einfacher zu testen. In Ihren Tests können Sie den Aufruf vonTest-ADDriveConfiguration verspotten und Sie benötigen nur zwei Tests für diese Funktion. Eine, bei der$true und eine, bei der $false. Das Testen der anderen Funktion ist einfacher, weil sie so klein ist.

    Der Hauptteil dieser Funktion könnte immer noch der Einzeiler sein, mit dem wir begonnen haben, oder die explodierte Logik, die wir im letzten Abschnitt verwendet haben., Dies funktioniert gut für beide Szenarien und ermöglicht es Ihnen, diese Implementierung später einfach zu ändern.

    Fehlerbehandlung

    Eine wichtige Verwendung der if – Anweisung besteht darin, nach Fehlerbedingungen zu suchen, bevor Sie intoerrors ausführen. Ein gutes Beispiel ist zu überprüfen, ob ein Ordner bereits vorhanden ist, bevor Sie versuchen, ihn zu erstellen.

    if ( -not (Test-Path -Path $folder) ){ New-Item -Type Directory -Path $folder}

    Ich möchte sagen, wenn Sie eine Ausnahme erwarten, dann ist es nicht wirklich eine Ausnahme. Überprüfen Sie also Ihre Werte und validieren Sie Ihre Bedingungen, wo Sie können.,

    Wenn Sie ein wenig mehr in die tatsächliche Ausnahmebehandlung eintauchen möchten, habe ich einen Artikel über alles, was Sie jemals über Ausnahmen wissen wollten.

    Letzte Worte

    Die if – Anweisung ist eine so einfache Anweisung, aber ein grundlegendes Stück PowerShell. Sie werden dies in fast jedem Skript, das Sie schreiben, mehrmals verwenden. Ich hoffe, Sie haben ein besseres Verständnis als vorher.

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.