我有一个普通的PS函数使用System.Data.SqlClient.SqlConnection,System.Data.SqlClient.SqlCommand,System.Data.SqlClient.SqlDataAdapter来查询db,然后返回一个System.Data.DataTable对象。
到目前为止它运作良好,现在我想因为某些目的而进行远程处理。
我发现当它被放入“Invoke-Command -ComputerName xxx -ScriptBlock {}”块时,它会成功获取db记录。
但是返回值不是System.Data.DataTable的类型,它有一个关于反序列化的前缀,所以我无法通过调用之前的属性/方法来获取每个单元格的值。
我该怎么做?
将其转换为数组/哈希表?
谢谢!
答案 0 :(得分:0)
这就是远程处理的工作原理 - 你总是会得到一个反序列化的对象。解决此问题的一种方法是将所有工作推送到远程,并仅返回您感兴趣的属性。
另一种选择,我编写了一个out-datatable函数,它将任何对象转换为数据表: