THEMA about_Script_Blocks KURZBESCHREIBUNG Definiert Skriptblöcke und erläutert die Verwendung von Skriptblöcken in der Windows PowerShell-Programmiersprache. DETAILBESCHREIBUNG In der Windows PowerShell-Programmiersprache ist ein Skriptblock eine Auflistung von Anweisungen oder Ausdrücken, die als Einheit verwendet werden können. Ein Skriptblock kann Argumente annehmen und Werte zurückgeben. Syntaktisch handelt es sich bei einem Skriptblock um eine Anweisungsliste in geschweiften Klammern, wie in der folgenden Syntax dargestellt: {<Anweisungsliste>} Ein Skriptblock gibt die Ausgabe aller Befehle im Skriptblock zurück, entweder als einzelnes Objekt oder als Array. Wie Funktionen können Skriptblöcke Parameter enthalten. Weisen Sie benannte Parameter mithilfe des Param-Schlüsselworts zu, wie in der folgenden Syntax dargestellt: { param ([type]$parameter1 [,[type]$parameter2]) <Anweisungsliste> } Im Gegensatz zu Funktionen können Sie in Skriptblöcken keine Parameter außerhalb der geschweiften Klammern angeben. Wie Funktionen können Skriptblöcke die Schlüsselwörter "DynamicParam", "Begin", "Process" und "End" einschließen. Weitere Informationen finden Sie unter "about_Functions" und "about_Functions_Advanced". Verwenden von Skriptblöcken Ein Skriptblock ist eine Instanz eines Microsoft .NET Framework-Typs (System.Management.Automation.ScriptBlock). Befehle können Skriptblockparameterwerte aufweisen. Das Cmdlet "Invoke-Command" verfügt z. B. über einen ScriptBlock-Parameter, der einen Skriptblockwert annimmt, wie in diesem Beispiel veranschaulicht: C:\PS> invoke-command -scriptblock { get-process } Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 999 28 39100 45020 262 15.88 1844 communicator 721 28 32696 36536 222 20.84 4028 explorer . . . Der als Wert verwendete Skriptblock kann auch komplizierter sein, wie im folgenden Beispiel gezeigt: C:\PS> invoke-command -scriptblock { param ($uu = "Parameter"); "$uu zugewiesen." } Parameter zugewiesen. Im Skriptblock im vorangehenden Beispiel wird mithilfe des Param- Schlüsselworts ein Parameter mit einem Standardwert erstellt. Im folgenden Beispiel wird dem Parameter mithilfe des Args-Parameters des Cmdlets "Invoke-Command" ein anderer Wert zugewiesen: C:\PS> invoke-command -scriptblock {param ($uu = "Parameter"); "$uu assigned."} -args "Anderer Wert" Anderer Wert zugewiesen. Sie können einen Skriptblock einer Variablen zuweisen, wie im folgenden Beispiel veranschaulicht: C:\PS> $a = {param ($uu = "Parameter"); "$uu zugewiesen."} Sie können die Variable mit einem Cmdlet wie "Invoke-Command" verwenden, wie im folgenden Beispiel dargestellt: C:\PS> invoke-command -scriptblock $a -args "Anderer Wert" Anderer Wert zugewiesen. Sie können einen Skriptblock ausführen, der einer Variable zugewiesen wird, indem Sie den Aufrufoperator (&) verwenden. Dies wird im folgenden Beispiel gezeigt: C:\PS> &$a Parameter zugewiesen. Sie können auch einen Parameter für den Skriptblock bereitstellen, wie im folgenden Beispiel dargestellt: C:\PS> &$a "Anderer Wert" Anderer Wert zugewiesen. Wenn Sie den Wert, der von einem Skriptblock erstellt wird, einer Variablen zuweisen möchten, führen Sie den Skriptblock mithilfe des Aufrufoperators direkt aus, wie im folgenden Beispiel veranschaulicht: C:\PS> $a = &{param ($uu = "Parameter"); "$uu zugewiesen."} C:\PS> $a Parameter zugewiesen. Weitere Informationen zum Aufrufoperator finden Sie unter "about_Operators". SIEHE AUCH about_Functions about_Functions_Advanced about_Operators