Я вызываю функцию PS, передавая ей строку и переменную данных. Я хочу извлечь все предметы в datatable
и сохранить их в объекте.Значение, не сохраняющееся в переменной powershell
Вот мой код из моего сценария:
Function myFunc
{
param ($id, $dt)
$data = $dt | where-object ($_.ID -eq $ID)
}
$myVar = myFunc -id "stringID" -dt myDataTable
Когда это работает моя data
переменная остается пустым.
У меня есть точка останова, расположенная в конце моего проекта, поэтому я могу попробовать играть со значениями. Когда я пытаюсь и воссоздаю вопрос, он работает:
[DBG]: PS C:\WINDOWS\system32>> $abc = $myDataTable | where-object {$_.ID -eq $ID}
[DBG]: PS C:\WINDOWS\system32>> $abc
ID : //info here
Location : //info here
Managedr : //info here
Он просто не будет работать в моем подлинном сценарии.
С одной стороны, ваша функция ничего не возвращает, потому что вы захватываете весь вывод в переменной '$ data'. Кроме того, существует ли '' '' '-dt myDataTable' опечатка в вашем вопросе или в вашем подлинном скрипте? И почему у вас есть этот параметр в первую очередь, если вы его не используете? –
Извините за поздний ответ. Да, в моем первоначальном вопросе была опечатка. Моя функция должна читать '$ data = $ dt | где-object ($ _. ID -eq $ ID) ' – Johnrad