$Args

Alle Artikel mit diesem Stichwort

sepago Spezialisten bloggen über Citrix und Microsoft

Hier bloggen sepago-Spezialisten über ihre Themen: Automatisierung, Cloud Solutions, IT-Security, aktuelle Entwicklungen rund um Citrix- und Microsoft-Technologien, Arbeitskultur.

| |

PowerShell: Skriptblöcke – Part 18

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 oder als Argument übergeben werden. Darüber hinaus können Skriptblöcke als Funktionen, Filter (siehe Kapitel 4.6) und CMDLets verwendet werden. Letztlich können Skriptblöcke auch zur Funktionsdefinition zur Laufzeit verwendet werden, was allerdings nicht Bestandteil dieses Dokuments wird.

| |

PowerShell: Typisierung von Parametern, Initialisierung von Parametern, Switchparameter – Part 15.1

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 zu erzwingen. Besonders dann, wenn an diesem Parameter innerhalb der Funktion Operationen durchgeführt werden, welche nur mit einem bestimmten Datentyp funktionieren oder sinnvolle Ergebnisse ergeben und der Typ des übergebenen Arguments nicht in den erwarteten Datentyp konvertiert werden kann (was die PowerShell selbständig versuchen würde).

| |

PowerShell: Skripte, Funktionen und Skriptblöcke (Parameter und Argumente) – Part 15

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 ersten Schritt soll die informelle Argumentenübergabe (positional parameters) behandelt werden. Alle Argumente, die an eine Funktion übergeben werden, werden in einem Array Namens $Args gespeichert. Über den Ausdruck $Args.Count innerhalb der Funktion kann die Anzahl der übergebenen Argumente ermittelt werden.