28 Artikel
4.5 Skriptblöcke Skriptblöcke sind bereits öfter in diesem Dokument verwendet oder erwähnt worden. Im Grunde ist das ein Stück Code, eingeschlossen in geschweifte Klammern. Sie können nicht nur in CMDLets, Funktionen und Sprachelementen verwendet werden, sondern können auch direkt ausgeführt...
Bild des Benutzers Marius Gawenda
4.4.12 Try, Catch, Finally Try, Catch und Finally wurde in der PowerShell 2.0 implementiert und verhält sich ähnlich, wie das gleich benannte Konstrukt in C#. Damit kann eine sehr elegante Fehlerbehandlung in der Powershell realisiert werden. Die Syntax lautet wie...
Bild des Benutzers Marius Gawenda
4.4.10 Trap Anweisung Mit der Trap Anweisung werden sogenannte Exceptions (oder Terminating Errors) behandelt. Die Syntax lautet wie folgt: Trap Trap Schlüsselwort [<ExceptionType>] Optional, Fehlertyp { <StatementList> Anweisungsblock [Breack|Continue] Optional, Schlüsselworte zur Flusssteuerung } Wenn eine Exception auftritt, ist das,...
Bild des Benutzers Marius Gawenda
4.4.9 Switch Anweisung Die Switch Anweisung ersetzt in ihrer einfachsten Form mehrere IF-Abfragen. Durch unterschiedliche Schalter kann die Switch Anweisung jedoch wesentlich mehr. Die Syntax lautet wie folgt: Switch <Options> Switch Schlüsselwort mit optionalen Parametern ( <Pipeline> Pipeline zum Testen...
Bild des Benutzers Marius Gawenda
4.4.8 Flusssteuerung mit CMDLets Die Flusssteuerung kann auch mit Hilfe von CMDLets vorgenommen werden. Sie können prinzipiell die gleichen Aufgaben erledigen wie die Sprachkonstrukte, es gibt jedoch einige wichtige Unterschiede. Die am häufigsten für die Flusssteuerung verwendete CMDLets sind ForEach-Object...
Bild des Benutzers Marius Gawenda
4.4.5 Do/While Schleife Die Do/While Schleife ist ebenfalls eine konditionale Schleife und verhält sich ähnlich wie die While Schleife. Do { Do Schlüsselwort <StatementList> } Anweisungsblock While While Schlüsselwort ( <Pipeline> ) Pipeline zum Testen Der Unterschied zwischen den beiden...
Bild des Benutzers Marius Gawenda
4.4.3 Foreach-Schleife Die Foreach-Schleife eignet sich, im Gegensatz zur For-Schleife, für die Verarbeitung von Sammlungen (Collections), welche eine unbekannte Anzahl von Elementen aufweisen. Für jedes Element der Sammlung kann innerhalb der Foreach-Schleife ein Anweisungsblock ausgeführt werden. Foreach ( Foreach Schlüsselwort...
Bild des Benutzers Marius Gawenda
4.4.2 For-Schleife Die For-Schleife ist eine einfache numerische Schleife. In der PowerShell ist sie als eine ausdrucksorientierte Schleife implementiert. Das hört sich kompliziert an, bedeutet aber nur, dass sie auch Pipelines verarbeiten kann. Die For-Schleife hat die folgende Syntax: For...
Bild des Benutzers Marius Gawenda
4.4 Sprachkonstrukte Die Cmdlets und Befehle sowie die Pipeline, die in der PowerShell zur Verfügung stehen, bieten bereits sehr viele Möglichkeiten in der Shell. Um jedoch komplexere Funktionen und Skripte zu schreiben, bedarf es noch zusätzlich einiger Sprachelemente, welche wiederholtes...
Bild des Benutzers Marius Gawenda
Solange eine Funktion Befehle enthält, welche eine Bildschirmausgabe tätigen (und das tun fast alle Befehle), ist eine dedizierte Rückgabe von Werten aus einer Funktion nicht notwendig: 1. PS X:\Temp> function Get-Density([Int32]$Mass, [Int32]$Volume) 2. >> {$Mass/$Volume} 3. >> 4. Get-Density 40...
Bild des Benutzers Marius Gawenda
4.1.6 Parametersets Die erweiterte Parameterdefinition erlaubt es auch, sogenannte Parametersets zu definieren. Parametersets können mit dem Überladen von Funktionen in C# verglichen werden. Das Überladen von Funktionen hat zur Folge, dass eine Funktion unterschiedliche Signaturen* haben kann, wobei jede Signatur...
Bild des Benutzers Marius Gawenda
4.1.1 Typisierung von Parametern Die Definition von Parametern innerhalb einer Funktion kann im einfachsten Fall ohne Angabe eines Datentyps erfolgen. In vielen Fällen ist das auch völlig ausreichend. Hin und wieder ist es jedoch sinnvoll, einen bestimmten Datentyp eines Parameters...
Bild des Benutzers Marius Gawenda
4.1 Parameter und Argumente Ohne die Möglichkeit, Argumente an Funktionen und Skripte zu übergeben, wäre der Nutzen solcher sehr gering. Die Übergabe von Argumenten funktioniert bei Funktionen und Skripten gleich, daher werden die Zusammenhänge vorerst anhand von Funktionen erklärt. Im...
Bild des Benutzers Marius Gawenda
4 Skripte, Funktionen und Skriptblöcke (Einführung) Skripte sind die „Programme“, die in der PowerShell „Sprache“ geschrieben werden. Sie können beliebig komplex und fast beliebig lang sein. Skripte können beliebige Folgen von PowerShell Befehlen beinhalten, Variablen, Funktionen, Drives, etc. definieren. Sie...
Bild des Benutzers Marius Gawenda