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





Inhaltsverzeichnis