0

我有一个普通的 PS 函数使用 System.Data.SqlClient.SqlConnection、System.Data.SqlClient.SqlCommand、System.Data.SqlClient.SqlDataAdapter 来查询 db,然后返回一个 System.Data.DataTable 对象。

到目前为止它工作得很好,现在由于某些目的我想让它远程处理。

我发现它在放入“Invoke-Command -ComputerName xxx -ScriptBlock {}”块时成功获取数据库记录。

但是返回值不是 System.Data.DataTable 的类型,它有一个关于反序列化的前缀,所以我不能像以前那样通过调用属性/方法来获取每个单元格的值。

我怎样才能做到这一点?

将其转换为数组/哈希表?

谢谢!

4

1 回答 1

0

这就是远程处理的工作方式——你总是会得到一个反序列化的对象。解决此问题的一种方法是将所有工作推送到远程并仅返回您感兴趣的属性。

另一种选择,我编写了一个输出数据表函数,它将任何对象转换为数据表:

http://poshcode.org/3534

于 2012-09-14T14:34:50.310 回答