Ich versuche, ein Wörterbuch in Powershell zu erstellen. Hier ist das Skript, ich arbeite,Powershell V2.0 Fehler: Kann Parameter 'FilterScript' nicht binden
$environmentId = "Test"
$Dictionary = New-Object "System.Collections.Generic.Dictionary``2[System.String,System.String]"
$xml = [xml] (Get-Content "deploy.config")
$xml.SelectNodes("descendant::configuration/environment[@id='$($environmentId)']/descendant::text()[normalize-space()]") | ? Value | % {
$Dictionary.Add($_.ParentNode.ToString(), $_.Value)
}
write-output $Dictionary
Dieses Skript in Powershell Version 4.0 arbeitet. Derzeit verwenden wir jedoch Version 2.0. Als ich das Skript auf Version 2.0 laufen, werfen folgenden Fehler,
Where-Object : Cannot bind parameter 'FilterScript'. Cannot convert the "Value" value of type "System.String" to type "System.Management.Automation.ScriptBlock".
At C:\Users\pwsp_kkumar\Desktop\dictionary.ps1:6 char:129
+ $xml.SelectNodes("descendant::configuration/environment[@id='$($environmentId)']/descendant::text()[normalize-spa
ce()]") | ? <<<< Value | % {
+ CategoryInfo : InvalidArgument: (:) [Where-Object], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.WhereObjectCommand
Kann jemand bitte machen Sie mir den entsprechenden Befehl Powershell Version 2.0, den obigen Fehler zu beheben. Vielen Dank.
Ausgezeichnet. Das hat mein Problem behoben. Ich danke dir sehr. – mahesh