Я написал функцию PowerShell, которая возвращает такие вещи (из $Objekt.Columns
):
Пример 1:
Addr.BoNumber Addr.FullName
------------- -------------
{212, 210, 211, 104} {xy, cv, bn, mm}
Пример 2:
Addr.BoNumber Addr.FullName
------------- -------------
{212} {xy}
Пример 3:
Addr.BoNumber Addr.FullName Addr.Email
------------- ------------- ----------
{212, 210, 211, 104} {xy, cv, bn, mm} {x, y, z, n}
Теперь я пытаюсь написать синтаксический анализатор, который изменяет эту структуру следующим образом:
Addr.BoNumber Addr.FullName
------------- -------------
212 xy
210 cv
211 bn
104 mm
Как видите, у меня есть один или несколькоСвойства и одно или несколько значений.Addr.BoNumber[0]
принадлежит Addr.FullName[0]
, Addr.BoNumber[1]
принадлежит Addr.FullName[1]
и т. Д.
У меня есть следующая функция, которая должна его анализировать, но у меня возникают некоторые проблемы при сохранении значений из .Rows
в PSCustomObject
Свойства.
Это моя функция синтаксического анализа:
function New-OOPowerShellObject {
Param (
[Parameter(
Mandatory = $true,
Position = 0,
ValueFromPipeline = $true
)]
[FlatResponseData]$Objekt
)
# Return Objekt erstellen
$ReturnObjekt = [PSCustomObject]@{}
# Über Columns loopen und Titel eintragen
$Objekt.Columns | % {
Add-Member -InputObject $ReturnObjekt `
-NotePropertyName $_.Name `
-NotePropertyValue (foreach())
}
foreach($o in $Objekt.Columns)
{
$c = ($o.Rows.count) - 1
0..$c | % {
$ReturnObjekt."$($_.Name)" += $o.Rows[$_]
}
}
# Return
$ReturnObjekt
}
Но я получаю эту ошибку (на немецком языке):
Ausnahme beim Festlegen von "": "Das Argument kann nicht verarbeitet werden, da der Wert des Arguments "name" ungültig ist. Ändern Sie den Wert des Arguments "name", und führen Sie den Vorgang erneut aus."
In Zeile:26 Zeichen:30
+ $ReturnObjekt."$($_.Name)" += $o.Rows[$_]
+ ~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], SetValueInvocationException
+ FullyQualifiedErrorId : ExceptionWhenSetting
Любые идеи?
РЕДАКТИРОВАТЬ: Дополнительная информация:
- Все находится в:
$Objekt.Columns
- Названия свойств в:
$Objekt.Columns.Name
в виде строки - Значения свойствв:
$Objekt.Columns.Rows
в виде массива