THEMA
    about_Data_Sections

KURZBESCHREIBUNG
    Erläutert Datenabschnitte, in denen Textzeichenfolgen und andere 
    schreibgeschützte Daten von Skriptlogik isoliert sind.


DETAILBESCHREIBUNG
    Für Windows PowerShell entworfene Skripts können einen oder mehrere 
    Datenabschnitte umfassen, die nur Daten enthalten. In jedem Skript, 
    jeder Funktion und jeder erweiterten Funktion können Sie einen oder 
    mehrere Datenabschnitte einschließen. Der Inhalt des Datenabschnitts 
    ist auf eine angegebene Teilmenge der Windows PowerShell-Skriptsprache
    beschränkt.

    Die Trennung der Daten von Code erleichtert das Erkennen und 
    Verwalten der Logik und der Daten. Damit können Sie separate 
    Zeichenfolgenressourcendateien für Text verwenden, z. B. 
    Fehlermeldungen und Hilfezeichenfolgen. Zudem wird auch die Codelogik 
    isoliert, wodurch Sicherheits- und Gültigkeitstests erleichtert werden. 

    In Windows PowerShell wird der Datenabschnitt verwendet, um die 
    Skriptinternationalisierung zu unterstützen. Mit Datenabschnitten 
    können Sie das Isolieren, Suchen und Verarbeiten von Zeichenfolgen 
    erleichtern, die in zahlreiche Benutzeroberflächensprachen übersetzt 
    werden sollen. 

    Der Datenabschnitt bildet ein Feature von Windows PowerShell 2.0. 
    Skripts mit Datenabschnitten werden in Windows PowerShell 1.0 
    nicht ohne Überarbeitung ausgeführt.


  Syntax

    Für Datenabschnitte wird folgende Syntax verwendet:

        DATA [-supportedCommand <Cmdlet-Name>] {

            <Zulässiger Inhalt>
        }


    Das Data-Schlüsselwort ist erforderlich. Bei diesem wird die 
    Groß-/Kleinschreibung nicht beachtet.


    Der zulässige Inhalt ist auf die folgenden Elemente beschränkt:

        - Alle Windows PowerShell-Operatoren, mit Ausnahme von -match 	 

        - Anweisungen If, Else und ElseIf
           
	- Die folgenden automatischen Variablen: $PsCulture, $PsUICulture, 
	  $True, $False und $Null

        - Kommentare

        - Pipelines

        - Durch Semikolons (;) getrennte Anweisungen

        - Literale, z. B. folgende:

            a

            1
  
            1,2,3
	
            "Windows PowerShell 2.0"

            @("rot", "grün", "blau")

            @{ a = 0x1; b = "gross"; c ="Skript" }

            [XML] @'
             <p> Hello, World </p>
            '@

        - Cmdlets, die in Datenabschnitten zulässig sind. 
          Standardmäßig ist nur das Cmdlet "ConvertFrom-StringData" 
          zulässig.

        - Cmdlets, die Sie mit dem SupportedCommand-Parameter in 
          Datenabschnitten zulassen.


    Wenn Sie das Cmdlet "ConvertFrom-StringData" in einem 
    Datenabschnitt verwenden, können Sie die Schlüssel-Wert-Paare in 
    Zeichenfolgen mit einfachen Anführungszeichen oder doppelten 
    Anführungszeichen oder in here-Zeichenfolgen mit doppelten 
    Anführungszeichen einschließen. Zeichenfolgen mit Variablen sowie 
    Teilausdrücke müssen jedoch in Zeichenfolgen mit einfachen 
    Anführungszeichen oder here-Zeichenfolgen mit einfachen 
    Anführungszeichen eingeschlossen werden, damit die Variablen 
    nicht erweitert werden und die Teilausdrücke nicht ausgeführt 
    werden können. 


  SupportedCommand

      Mit dem SupportedCommand-Parameter können Sie angeben, dass von 
      einem Cmdlet oder einer Funktion nur Daten generiert werden. Er 
      wurde entworfen, um Benutzern das Einfügen von Cmdlets und 
      Funktionen in einen Datenabschnitt zu ermöglichen, den sie 
      geschrieben oder getestet haben.

      Der Wert von SupportedCommand besteht aus einer durch 
      Trennzeichen getrennte Liste mit einem oder mehreren Cmdlet- 
      oder Funktionsnamen.

      Beispielsweise enthält der folgende Datenabschnitt das von 
      einem Benutzer erstellte Cmdlet "Format-XML", mit dem Daten in 
      einer XML-Datei formatiert werden:

	  DATA -supportedCommand Format-XML 
          {  
             Format-XML -strings Zeichenfolge1, Zeichenfolge2, 
             Zeichenfolge3
          }


  Verwenden eines Datenabschnitts

      Zum Verwenden des Inhalts eines Datenabschnitts weisen Sie 
      diesen einer Variable zu, und greifen Sie auf den Inhalt in 
      Variablennotation zu.

      Beispielsweise enthält der folgende Datenabschnitt den Befehl 
      "ConvertFrom-StringData", mit dem die here-Zeichenfolge in eine 
      Hashtabelle konvertiert wird. Die Hashtabelle wird der 
      Variablen "$TextMsgs" zugewiesen. 

      Die Variable "$TextMsgs" bildet keinen Teil des Datenabschnitts.
 
          $TextMsgs = DATA {
              ConvertFrom-StringData -stringdata @' 
                Text001 = Windows 7
                Text002 = Windows Server 2008 R2 
          '@
          }
     
      Zum Zugreifen auf die Schlüssel und Werte in einer Hashtabelle 
      in $TextMsgs verwenden Sie die folgenden Befehle:

          $TextMsgs.Text001   
          $TextMsgs.Text002



BEISPIELE

    Einfache Datenzeichenfolgen.

        DATA {
            "Vielen Dank, dass Sie mein Windows PowerShell-Skript 'Organize.pst' verwenden." 
            "Es steht der Community kostenfrei zur Verfügung." 
            "Ich freue mich auf Ihre Kommentare und Ihr Feedback." 
        }


    Zeichenfolgen mit zulässigen Variablen.

        DATA {
            if ($null) {
	       "Wenn Sie Hilfe für dieses Cmdlet benötigen, geben Sie 
	       'get-help new-dictionary' ein." 
            }
        }	
		

    Eine here-Zeichenfolge in einfachen Anführungszeichen, für die 
    das Cmdlet "ConvertFrom-StringData" verwendet wird:

        DATA {
          ConvertFrom-StringData -stringdata @' 
            Text001 = Windows 7
            Text002 = Windows Server 2008 R2
        '@
        }



    Eine here-Zeichenfolge in doppelten Anführungszeichen, für die 
    das Cmdlet "ConvertFrom-StringData" verwendet wird:

        DATA {
          ConvertFrom-StringData -stringdata @" 
            Msg1 = Drücken Sie zum Starten eine beliebige Taste.
            Msg2 = Geben Sie zum Beenden "quit" ein.
        "@
        }



    Ein Datenabschnitt, der ein von einem Benutzer erstelltes Cmdlet 
    enthält, mit dem Daten generiert werden:

	DATA -supportedCommand Format-XML {  
           Format-XML -strings Zeichenfolge1, Zeichenfolge2, Zeichenfolge3
        }


SIEHE AUCH
    about_Automatic_Variables
    about_Comparison_Operators
    about_Hash_Tables
    about_If
    about_Operators
    about_Quoting_Rules
    about_Script_Internationalization
    ConvertFrom-StringData
    Import-LocalizedData




Inhaltsverzeichnis