Konvertiert eine Zeichenfolge, die mindestens ein Schlüssel-Wert-Paar enthält, in eine Hashtabelle. (ConvertFrom-StringData)

   

NAME
ConvertFrom-StringData

# ÜBERSICHT
Konvertiert eine Zeichenfolge, die mindestens ein Schlüssel-Wert-Paar enthält, in eine Hashtabelle.

# SYNTAX
ConvertFrom-StringData [-StringData] <string> [<CommonParameters>]

# BESCHREIBUNG
Mit dem Cmdlet "ConvertFrom-StringData" wird eine Zeichenfolge, die eines oder mehrere Schlüssel-Wert-Paare enthält, in eine Hashtabelle konvertiert. Da sich jedes Schlüssel-Wert-Paar in einer eigenen Zeile befinden muss, werden als Eingabeformat häufig here-Zeichenfolgen verwendet.

Das Cmdlet "ConvertFrom-StringData" gilt als sicheres Cmdlet, das im DATA-Abschnitt eines Skripts oder einer Funktion verwendet werden kann. Bei Verwendung in einem DATA-Abschnitt muss der Inhalt der Zeichenfolge den Regeln für den DATA-Abschnitt entsprechen. Weitere Informationen finden Sie unter "about_Data_Sections".

# PARAMETER
-StringData <string>
Gibt die zu konvertierende Zeichenfolge an. Sie können diesen Parameter verwenden oder eine Zeichenfolge über die Pipeline an ConvertFrom-StringData übergeben. Der Parametername ist optional.

Der Wert dieses Parameters muss einer in einfache Anführungszeichen eingeschlossenen Zeichenfolge, einer in doppelte Anführungszeichen eingeschlossenen Zeichenfolge oder einer here-Zeichenfolge entsprechen, die mindestens ein Schlüssel-Wert-Paar enthält. Jedes Schlüssel-Wert-Paar muss sich in einer eigenen Zeile befinden oder durch Zeilenumbruchzeichen (`n) von anderen Paaren getrennt sein.

Sie können Kommentare in die Zeichenfolge einschließen, jedoch dürfen sich die Kommentare nicht in derselben Zeile wie ein Schlüssel-Wert-Paar befinden. Die Kommentare sind nicht in der Hashtabelle enthalten.

Eine here-Zeichenfolge ist eine Zeichenfolge, die aus einer oder mehreren Zeilen besteht, in denen Anführungszeichen buchstäblich interpretiert werden. Weitere Informationen finden Sie unter "about_Quoting_Rules".

Erforderlich? true
Position? 1
Standardwert
Pipelineeingaben akzeptieren?true (ByValue)
Platzhalterzeichen akzeptieren?false

<CommonParameters>
Dieses Cmdlet unterstützt folgende allgemeine Parameter: "Verbose", "Debug",
"ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable",
"OutBuffer" und "OutVariable". Weitere Informationen
erhalten Sie mit dem Befehl "get-help about_commonparameters".

# EINGABEN
System.String
Sie können eine Zeichenfolge, die ein Schlüssel-Wert-Paar enthält, über die Pipeline an ConvertFrom-StringData übergeben.

# AUSGABEN
System.Collections.Hashtable
ConvertFrom-StringData gibt eine Hashtabelle zurück, die aus den Schlüssel-Wert-Paaren erstellt wird.

# HINWEISE

Eine here-Zeichenfolge ist eine Zeichenfolge, die aus einer oder mehreren Zeilen besteht, in denen Anführungszeichen buchstäblich interpretiert werden. Weitere Informationen finden Sie unter "about_Quoting_Rules".

ConvertFrom-StringData kann in Skripts hilfreich sein, die Benutzermeldungen in mehreren Sprachen anzeigen. Sie können die wie Wörterbücher strukturierten Hashtabellen verwenden, um Textzeichenfolgen von Code zu isolieren (z. B. in Ressourcendateien) und die Textzeichenfolgen für die Verwendung in Übersetzungstools zu formatieren.

# BEISPIEL 1

C:\PS>$here = @'
Msg1 = The string parameter is required.
Msg2 = Credentials are required for this command.
Msg3 = The specified variable does not exist.
'@

C:\PS> convertfrom-stringdata -stringdata $here

Name Value
---- -----
Msg3 The specified variable does not exist.
Msg2 Credentials are required for this command.
Msg1 The string parameter is required.

Beschreibung
-----------
Mit diesen Befehlen wird eine in einfache Anführungszeichen eingeschlossene here-Zeichenfolge von Benutzermeldungen in eine Hashtabelle konvertiert. Werte in einer Zeichenfolge in einfachen Anführungszeichen werden nicht als Variablen ersetzt, und Ausdrücke werden nicht ausgewertet.

Im ersten Befehl wird eine here-Zeichenfolge erstellt und in der Variablen "$here" gespeichert.

Im zweiten Befehl wird die here-Zeichenfolge in der Variablen "$here" mit dem Cmdlet "ConvertFrom-StringData" in eine Hashtabelle konvertiert.

# BEISPIEL 2

C:\PS>$p = @"
ISE = Windows PowerShell Integrated Scripting Environment
"@

C:\PS> $p | get-member

TypeName: System.String

Name MemberType Definition
---- ---------- ----------
Clone Method System.Object Clone()
...

C:\PS> $hash = convertfrom-stringdata -stringdata $p

C:\PS> $hash | get-member

TypeName: System.Collections.Hashtable

Name MemberType Definition
---- ---------- ----------
Add Method System.Void Add(Object key, Object
...

Beschreibung
-----------
Diese Befehle veranschaulichen, dass ConvertFrom-StringData tatsächlich eine here-Zeichenfolge in eine Hashtabelle konvertiert.

Im ersten Befehl wird eine here-Zeichenfolge in doppelten Anführungszeichen erstellt, die ein Schlüssel-Wert-Paar enthält, und in der Variablen "$p" gespeichert.

Im zweiten Befehl wird die Variable "$p" mithilfe des Pipelineoperators (|) an das Cmdlet "Get-Member" gesendet. Das Ergebnis zeigt, dass $p eine Zeichenfolge (System.String) ist.

Im dritten Befehl wird das Cmdlet "ConvertFrom-StringData" verwendet, um die here-Zeichenfolge in $p in eine Hashtabelle zu konvertieren. Das Ergebnis wird in der Variablen "$hash" gespeichert.

Im letzten Befehl wird die Variable "$hash" mithilfe des Pipelineoperators (|) an das Cmdlet "Get-Member" gesendet. Das Ergebnis zeigt, dass der Inhalt der Variablen "$hash" eine Hashtabelle (System.Collections.Hashtable) ist.

# BEISPIEL 3

C:\PS>convertfrom-stringdata -stringdata @'
Name = Disks.ps1
# Category is optional.
Category = Storage
Cost = Free
'@

Name Value
---- -----
Cost Free
Category Storage
Name Disks.ps1

Beschreibung
-----------
Mit diesem Befehl wird eine here-Zeichenfolge in einfachen Anführungszeichen, die mehrere Schlüssel-Wert-Paare enthält, in eine Hashtabelle konvertiert.

In diesem Befehl ist der Wert des StringData-Parameters eine here-Zeichenfolge, statt einer Variablen, die eine here-Zeichenfolge enthält. Beide Formate sind gültig.

Die here-Zeichenfolge enthält einen Kommentar über eine der Zeichenfolgen. Kommentare in Zeichenfolgen sind zulässig, sofern sich der Kommentar in einer anderen Zeile als ein Schlüssel-Wert-Paar befindet.

# BEISPIEL 4

C:\PS>$a = convertfrom-stringdata -stringdata "Top = Red `n Bottom = Blue"

C:\PS> "Top = " + $a.Top
Top = Red

C:\PS> "Bottom = " + $a.Bottom
Bottom = Blue

Beschreibung
-----------
In diesem Beispiel wird eine reguläre Zeichenfolge (keine here-Zeichenfolge) in doppelten Anführungszeichen in eine Hashtabelle konvertiert und in der Variablen "$a" gespeichert.

Um die Bedingung zu erfüllen dass sich jedes Schlüssel-Wert-Paar in einer eigenen Zeile befinden muss, werden die Paare mithilfe des Windows PowerShell-Zeilenumbruchzeichens (`n) getrennt.

Das Ergebnis ist eine Hashtabelle der Eingabe. Mit den restlichen Befehlen wird die Ausgabe angezeigt.

# BEISPIEL 5

C:\PS>$TextMsgs = DATA {
ConvertFrom-StringData @'
Text001 = The $Notebook variable contains the name of the user's system notebook.
Text002 = The $MyNotebook variable contains the name of the user's private notebook.
'@
}

C:\PS> $TextMsgs.Text001
The $Notebook variable contains the name of the user's system notebook.

C:\PS> $TextMsgs.Text002
The $MyNotebook variable contains the name of the user's private notebook.

Beschreibung
-----------
In diesem Beispiel wird der im DATA-Abschnitt eines Skripts verwendete Befehl "ConvertFrom-StringData" veranschaulicht. Mit den Anweisungen unter dem DATA-Abschnitt wird der Text für den Benutzer angezeigt.

Da der Text Variablennamen enthält, muss er in eine Zeichenfolge in einfachen Anführungszeichen eingeschlossen werden, damit die Variablen buchstäblich interpretiert und nicht erweitert werden. Variablen sind im DATA-Abschnitt nicht zulässig.

# BEISPIEL 6

C:\PS>$here = @'
Msg1 = The string parameter is required.
Msg2 = Credentials are required for this command.
Msg3 = The specified variable does not exist.
'@

C:\PS> $hash = $here | convertfrom-stringdata

C:\PS> $hash

Name Value
---- -----
Msg3 The specified variable does not exist.
Msg2 Credentials are required for this command.
Msg1 The string parameter is required.

Beschreibung
-----------
In diesem Beispiel wird gezeigt, dass eine Zeichenfolge mithilfe des Pipelineoperators (|) an ConvertFrom-StringData gesendet werden kann.

Im ersten Befehl wird eine here-Zeichenfolge in der Variablen "$here" gespeichert. Im zweiten Befehl wird die Variable "$here" mithilfe des Pipelineoperators (|) an ConvertFrom-StringData gesendet. Das Ergebnis wird in der Variablen "$hash" gespeichert.

Im letzten Befehl wird der Inhalt der Variablen "$hash" angezeigt.

VERWANDTE LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=113288 (möglicherweise auf Englisch)
about_Data_Sections
about_Quoting_Rules
about_Script_Internationalization

C:\Windows>powershell get-help Export-CSV -full

ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.

OS: Windows 10, 8.1, 8, 7, Vista / Windows Server 2016, 2012, 2008
»»»» ColorConsole





... Home  
... Impressum
... ColorConsole

... CMD
... Netsh-XP
... Netsh-7
... Netsh-Vista
... Powershell










Windows 10 download: Starter, Home (Basic Premium), Professional und Win 10 Ultimate!

... facebook.de
HTTP: ... PS_Windows/de/ConvertFrom-StringData.htm
0.155

Fehlerbehebung, Reparatur, oder Wiederherstellung von Windows 8 / 8.1 mit Hilfe der Windows 8-Installations-DVD!

 /

Change the Win-7 thousand separator (distinction) and decimal symbol!

 /

Open a new program instance or window via Windows Start (8.x, 10)!

 /

Change Mouse Pointer and Cursor size on Windows-10, (smaller, larger)?

 /