Sql 如何从PowerShell远程处理返回数据表?

Sql 如何从PowerShell远程处理返回数据表?,sql,powershell,datatable,remoting,Sql,Powershell,Datatable,Remoting,我有一个普通的PS函数,它使用System.Data.SqlClient.SqlConnection、System.Data.SqlClient.SqlCommand、System.Data.SqlClient.SqlDataAdapter来查询数据库,然后返回System.Data.DataTable对象 到目前为止,它工作得很好,现在我想让它远程处理,因为有一些目的 我发现它在放入“Invoke Command-ComputerName xxx-ScriptBlock{}”块时成功地获取了d

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

到目前为止,它工作得很好,现在我想让它远程处理,因为有一些目的

我发现它在放入“Invoke Command-ComputerName xxx-ScriptBlock{}”块时成功地获取了db记录

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

我该怎么做

是否将其转换为数组/哈希表


谢谢大家!

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

另一个选项是,我编写了一个out datatable函数,用于将任何对象转换为datatable:


它可以工作。非常感谢。但是我在代码中发现了一个bug。如果第一行中的单元格的值为0,则数据类型可能错误。