Sie sind auf Seite 1von 4

THEMA

about_Data_Sections
KURZBESCHREIBUNG
Erlutert Datenabschnitte, in denen Textzeichenfolgen und andere
schreibgeschtzte Daten von Skriptlogik isoliert sind.
DETAILBESCHREIBUNG
Fr Windows PowerShell entworfene Skripts knnen einen oder mehrere
Datenabschnitte umfassen, die nur Daten enthalten. In jedem Skript,
jeder Funktion und jeder erweiterten Funktion knnen Sie einen oder
mehrere Datenabschnitte einschlieen. Der Inhalt des Datenabschnitts
ist auf eine angegebene Teilmenge der Windows PowerShell-Skriptsprache
beschrnkt.
Die Trennung der Daten von Code erleichtert das Erkennen und
Verwalten der Logik und der Daten. Damit knnen Sie separate
Zeichenfolgenressourcendateien fr Text verwenden, z. B.
Fehlermeldungen und Hilfezeichenfolgen. Zudem wird auch die Codelogik
isoliert, wodurch Sicherheits- und Gltigkeitstests erleichtert werden.
In Windows PowerShell wird der Datenabschnitt verwendet, um die
Skriptinternationalisierung zu untersttzen. Mit Datenabschnitten
knnen Sie das Isolieren, Suchen und Verarbeiten von Zeichenfolgen
erleichtern, die in zahlreiche Benutzeroberflchensprachen 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 ausgefhrt.
Syntax
Fr Datenabschnitte wird folgende Syntax verwendet:
DATA [-supportedCommand <Cmdlet-Name>] {
<Zulssiger Inhalt>
}
Das Data-Schlsselwort ist erforderlich. Bei diesem wird die
Gro-/Kleinschreibung nicht beachtet.
Der zulssige Inhalt ist auf die folgenden Elemente beschrnkt:
- 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", "grn", "blau")
@{ a = 0x1; b = "gross"; c ="Skript" }
[XML] @'
<p> Hello, World </p>
'@
- Cmdlets, die in Datenabschnitten zulssig sind.
Standardmig ist nur das Cmdlet "ConvertFrom-StringData"
zulssig.
- Cmdlets, die Sie mit dem SupportedCommand-Parameter in
Datenabschnitten zulassen.
Wenn Sie das Cmdlet "ConvertFrom-StringData" in einem
Datenabschnitt verwenden, knnen Sie die Schlssel-Wert-Paare in
Zeichenfolgen mit einfachen Anfhrungszeichen oder doppelten
Anfhrungszeichen oder in here-Zeichenfolgen mit doppelten
Anfhrungszeichen einschlieen. Zeichenfolgen mit Variablen sowie
Teilausdrcke mssen jedoch in Zeichenfolgen mit einfachen
Anfhrungszeichen oder here-Zeichenfolgen mit einfachen
Anfhrungszeichen eingeschlossen werden, damit die Variablen
nicht erweitert werden und die Teilausdrcke nicht ausgefhrt
werden knnen.
SupportedCommand
Mit dem SupportedCommand-Parameter knnen Sie angeben, dass von
einem Cmdlet oder einer Funktion nur Daten generiert werden. Er
wurde entworfen, um Benutzern das Einfgen von Cmdlets und
Funktionen in einen Datenabschnitt zu ermglichen, 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 enthlt 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 enthlt 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 Schlssel 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 Verfgung."
"Ich freue mich auf Ihre Kommentare und Ihr Feedback."
}
Zeichenfolgen mit zulssigen Variablen.
DATA {
if ($null) {
"Wenn Sie Hilfe fr dieses Cmdlet bentigen, geben Sie
'get-help new-dictionary' ein."
}
}
Eine here-Zeichenfolge in einfachen Anfhrungszeichen, fr die
das Cmdlet "ConvertFrom-StringData" verwendet wird:
DATA {
ConvertFrom-StringData -stringdata @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
Eine here-Zeichenfolge in doppelten Anfhrungszeichen, fr die
das Cmdlet "ConvertFrom-StringData" verwendet wird:
DATA {
ConvertFrom-StringData -stringdata @"
Msg1 = Drcken Sie zum Starten eine beliebige Taste.
Msg2 = Geben Sie zum Beenden "quit" ein.
"@
}
Ein Datenabschnitt, der ein von einem Benutzer erstelltes Cmdlet
enthlt, 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

Das könnte Ihnen auch gefallen