ConvertFrom-String 
	Extraherar och parsar strukturerade egenskaper från stränginnehåll.
Syntax
		ByDelimiter (Standard)
	 
	ConvertFrom-String
    [-InputObject] <String>
    [-Delimiter <String>]
    [-PropertyNames <String[]>]
    [<CommonParameters>]
	
		TemplateParsing
	 
	ConvertFrom-String
    [-InputObject] <String>
    [-TemplateFile <String[]>]
    [-TemplateContent <String[]>]
    [-IncludeExtent]
    [-UpdateTemplate]
    [<CommonParameters>]
	Description
Cmdleten ConvertFrom-String extraherar och parsar strukturerade egenskaper från stränginnehåll. Den här cmdleten genererar ett objekt genom att parsa text från en traditionell textström. För varje sträng i pipelinen delar cmdleten indata med antingen en avgränsare eller ett parsningsuttryck och tilldelar sedan egenskapsnamn till vart och ett av de resulterande delade elementen. Du kan ange dessa egenskapsnamn. Om du inte gör det genereras de automatiskt åt dig.
Cmdletens standardparameteruppsättning, ByDelimiter, delar exakt på avgränsare för reguljära uttryck. Den utför inte citatmatchning eller avgränsare som flyr som cmdleten Import-Csv.
Cmdletens alternativa parameteruppsättning, TemplateParsing, genererar element från de grupper som fångas upp av ett reguljärt uttryck. Mer information om reguljära uttryck finns i about_Regular_Expressions.
Den här cmdleten stöder två lägen: grundläggande avgränsad parsning och automatiskt genererad exempeldriven parsning.
Avgränsad parsning delar som standard indata i tomt utrymme och tilldelar egenskapsnamn till de resulterande grupperna.
Du kan anpassa avgränsare genom att skicka ConvertFrom-String resultat till någon av Format-* cmdletarna, eller så kan du använda parametern Avgränsare.
Cmdleten stöder också automatiskt genererad, exempeldriven parsning baserat på FlashExtract, forskningsarbete av Microsoft Research.
Exempel
Exempel 1: Generera ett objekt med standardegenskapsnamn
"Hello World" | ConvertFrom-String
P1    P2
--    --
Hello World
Det här kommandot genererar ett objekt med standardegenskapsnamn, P1 och P2.
Exempel 1A: Lär känna det genererade objektet
Det här kommandot genererar ett objekt med egenskaper P1, P2; båda egenskaperna är av Sträng typ, som standard.
"Hello World" | ConvertFrom-String | Get-Member
   TypeName: System.Management.Automation.PSCustomObject
Name        MemberType   Definition
----        ----------   ----------
Equals      Method       bool Equals(System.Object obj)
GetHashCode Method       int GetHashCode()
GetType     Method       type GetType()
ToString    Method       string ToString()
P1          NoteProperty string P1=Hello
P2          NoteProperty string P2=World
	Exempel 2: Generera ett objekt med standardegenskapsnamn med en avgränsare
Det här kommandot genererar ett objekt med en domän och ett användarnamn med hjälp av omvänt snedstreck (\) som avgränsare. Omvänt snedstreck måste vara undantagna med ett annat omvänt snedstreck när du använder reguljära uttryck.
"Contoso\Administrator" | ConvertFrom-String -Delimiter "\\"
P1      P2
--      --
Contoso Administrator
	Exempel 3: Generera ett objekt som innehåller två namngivna egenskaper
I följande exempel skapas objekt från Windows-värdfilposter.
$content = Get-Content C:\Windows\System32\drivers\etc\hosts
$content = $content -match "^[^#]"
$content | ConvertFrom-String -PropertyNames IP, Server
IP             Server
--             ------
192.168.7.10   W2012R2
192.168.7.20   W2016
192.168.7.101  WIN8
192.168.7.102  WIN10
Cmdleten Get-Content lagrar innehållet i en Windows-värdfil i $content. Det andra kommandot tar bort eventuella kommentarer i början av värdfilen med ett reguljärt uttryck som matchar alla rader som inte börjar med (#). Det sista kommandot konverterar den återstående texten till objekt med egenskaperna Server och IP-.
Exempel 4: Använd ett uttryck som värde för parametern TemplateContent och spara resultatet i en variabel. 
	Det här kommandot använder ett uttryck som värdet för parametern TemplateContent. Uttrycket sparas i en variabel för enkelhetens skull. Windows PowerShell förstår nu att strängen som används i pipelinen för att ConvertFrom-String har tre egenskaper:
- Namn
 - telefon
 - ålder
 
$template = @'
{Name*:Phoebe Cat}, {phone:425-123-6789}, {age:6}
{Name*:Lucky Shot}, {phone:(206) 987-4321}, {age:12}
'@
$testText = @'
Phoebe Cat, 425-123-6789, 6
Lucky Shot, (206) 987-4321, 12
Elephant Wise, 425-888-7766, 87
Wild Shrimp, (111)  222-3333, 1
'@
$PersonalData = $testText | ConvertFrom-String -TemplateContent $template
Write-Output ("Pet items found: " + ($PersonalData.Count))
$PersonalData
Pet items found: 4
Name          phone           age
----          -----           ---
Phoebe Cat    425-123-6789    6
Lucky Shot    (206) 987-4321  12
Elephant Wise 425-888-7766    87
Wild Shrimp   (111)  222-3333 1
Varje rad i indata utvärderas av exempelmatchningarna. Om raden matchar exemplen i mönstret extraheras värden och skickas till utdatavariabeln.
Exempeldata, $template, innehåller två olika telefonformat:
425-123-6789(206) 987-4321
Exempeldata innehåller också två olika åldersformat:
612
Detta innebär att telefoner som (206) 987 4321 inte identifieras, eftersom det inte finns några exempeldata som matchar det mönstret eftersom det inte finns några bindestreck.
Exempel 5: Ange datatyper till de genererade egenskaperna
Det här är samma exempel som exempel 4 ovan. Skillnaden är att mönstersträngen innehåller en datatyp för varje önskad egenskap.
$template = @'
{[string]Name*:Phoebe Cat}, {[string]phone:425-123-6789}, {[int]age:6}
{[string]Name*:Lucky Shot}, {[string]phone:(206) 987-4321}, {[int]age:12}
'@
$testText = @'
Phoebe Cat, 425-123-6789, 6
Lucky Shot, (206) 987-4321, 12
Elephant Wise, 425-888-7766, 87
Wild Shrimp, (111)  222-3333, 1
'@
$PersonalData = $testText | ConvertFrom-String -TemplateContent $template
Write-Output ("Pet items found: " + ($PersonalData.Count))
$PersonalData
Pet items found: 4
Name          phone           age
----          -----           ---
Phoebe Cat    425-123-6789      6
Lucky Shot    (206) 987-4321   12
Elephant Wise 425-888-7766     87
Wild Shrimp   (111)  222-3333   1
$PersonalData | Get-Member
   TypeName: System.Management.Automation.PSCustomObject
Name        MemberType   Definition
----        ----------   ----------
Equals      Method       bool Equals(System.Object obj)
GetHashCode Method       int GetHashCode()
GetType     Method       type GetType()
ToString    Method       string ToString()
age         NoteProperty int age=6
Name        NoteProperty string Name=Phoebe Cat
phone       NoteProperty string phone=425-123-6789
Cmdleten Get-Member används för att visa att egenskapen ålder är ett heltal.
Parametrar
-Delimiter
Anger ett reguljärt uttryck som identifierar gränsen mellan element. Element som skapas av delningen blir egenskaper i det resulterande objektet. Avgränsare används slutligen i ett anrop till metoden Split av typen [System.Text.RegularExpressions.RegularExpression].
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | DEL | 
Parameteruppsättningar
					ByDelimiter 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-IncludeExtent 
		Anger att den här cmdleten innehåller en textegenskap för omfattning som tas bort som standard.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | Internet Explorer | 
Parameteruppsättningar
					TemplateParsing 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-InputObject 
		Anger strängar som tas emot från pipelinen eller en variabel som innehåller ett strängobjekt.
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | 0 | 
| Obligatorisk: | True | 
| Värde från pipeline: | True | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-PropertyNames 
		Anger en matris med egenskapsnamn som du vill tilldela delade värden till i det resulterande objektet. Varje textrad som du delar upp eller parsar genererar element som representerar egenskapsvärden. Om elementet är resultatet av en avbildningsgrupp och avbildningsgruppen namnges (till exempel (?<name>) eller (?'name') ) tilldelas namnet på avbildningsgruppen egenskapen.
Om du anger några element i matrisen PropertyName tilldelas dessa namn till egenskaper som ännu inte har fått namnet.
Om du anger fler egenskapsnamn än vad som finns fält ignorerar PowerShell de extra egenskapsnamnen. Om du inte anger tillräckligt många egenskapsnamn för att namnge alla fält tilldelar PowerShell automatiskt numeriska egenskapsnamn till alla egenskaper som inte heter: P1, P2osv.
Parameteregenskaper
| Typ: | String[]  | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | PN | 
Parameteruppsättningar
					ByDelimiter 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-TemplateContent 
		Anger ett uttryck, eller ett uttryck som sparats som en variabel, som beskriver de egenskaper som den här cmdleten tilldelar strängar till. Syntaxen för en mallfältspecifikation är följande: {[optional-typecast]<name>:<example-value>}.
Parameteregenskaper
| Typ: | String[]  | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | TC | 
Parameteruppsättningar
					TemplateParsing 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-TemplateFile 
		Anger en fil som en matris som innehåller en mall för önskad parsning av strängen. I mallfilen omges egenskaper och deras värden inom hakparenteser, enligt nedan. Om en egenskap, till exempel egenskapen Name och dess associerade andra egenskaper, visas flera gånger kan du lägga till en asterisk (*) som anger att detta resulterar i flera poster. På så sätt undviker du att extrahera flera egenskaper till en enda post.
{Name*:David Chew}
{City:Redmond}, {State:WA}
{Name*:Evan Narvaez}    {Name*:Antonio Moreno}
{City:Issaquah}, {State:WA}
		Parameteregenskaper
| Typ: | String[]  | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | TF | 
Parameteruppsättningar
					TemplateParsing 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-UpdateTemplate 
		Anger att den här cmdleten sparar resultatet av en inlärningsalgoritm i en kommentar i mallfilen. Detta gör algoritminlärningsprocessen snabbare. Om du vill använda den här parametern måste du också ange en mallfil med parametern TemplateFile.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | UT | 
Parameteruppsättningar
					TemplateParsing 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
String
Utdata
PSCustomObject
Kommentarer
Windows PowerShell innehåller följande alias för ConvertFrom-String:
CFS