Как уже упоминалось в приведенных выше комментариях, вы должны отправить содержимое $result
в поток вывода PowerShells.Выходной поток используется для реализации функции конвейера в Powershell.Если вы оберните свой код, например, в «myCode.ps1», и вызовете его с помощью:
.\myCode.ps1
Содержимое $result
помещается в выходной поток (конвейер).Поскольку никакой другой командлет не подключен к вызову myCode.ps1
, хост Powershell (= ваша командная строка) получит содержимое.Поведение хоста по умолчанию - выгрузить содержимое.
Поэтому добавьте следующее в ваш код:
$result = $cmd.ExecuteReader()
# Return $result to the pipeline
$result
Подробнее о конвейерах здесь и больше о потоках здесь .
ОБНОВЛЕНИЕ 1: Эта ссылка описывает более или менее пример кода вопроса.Возможно, отсутствует поставщик данных Orcale .NET.Добавьте его через:
Add-Type -Path "PathToDll\Oracle.ManagedDataAccess.dll"
Надеюсь, что поможет.