Надеюсь, у вас все хорошо и хорошо!
Я новичок в PowerShell, поэтому извиняюсь, если это что-то базовое c, что я не понимаю. Я искал решение по всему Google.
Я пытаюсь передать ArrayList, содержащий объекты, в другой скрипт PowerShell, чтобы выполнить что-то еще.
Сообщение об ошибке, что я получение: «Невозможно обработать преобразование аргумента для параметра« al ». Невозможно преобразовать значение« System.Collections.Hashable System.Collections.Hashable System.Collections.Hashable »типа« System.String »в тип« System.Collections.ArrayList ». ""
В script1.ps1:
$al = New-Object System.Collections.ArrayList
...
$obj = @{"var1"="apple"; "var2"="banana"; "var3"="carrot";}
$al.Add($obj)
...
foreach ($i in $al) {
$temp = $($i.var1)
write-host "$temp" #outputs "apple" correctly
}
invoke-expression -Command "script2.ps1 -al '$al'"
В script2.ps1:
param ([System.Collections.ArrayList]$al)
...
foreach ($i in $al) {
$temp = $($i.var1)
write-host "$temp" #error message
}
Заранее спасибо за помощь!