【发布时间】:2018-08-10 07:25:21
【问题描述】:
我正在使用 vb.net 远程运行一些 powershell 命令,powershell.invoke 的输出是
ObjectModel.Collection(Of PSObject)
键入。
我想将这些转换为可用的 vb.net 类/集合。当我调试代码并将鼠标悬停在输出 / ObjectModel.Collection(Of PSObject) 上时,数据显示为;
(0) {@{Name=John;Books=System.Collections.ArrayList}}
(1) {@{Name=Gerry;Books=System.Collections.ArrayList}}
如何将其转换为可用的 vb.net 类/对象?
我已经尝试过像这样制作一个自定义类;
Class BookOwner
public name as string
public Books as systems.collections.arraylist
end class
然后将其投射到对象上;
dim MyBookOwner as BookOwner = trycast(Output(0).BaseObject, BookOwner)
输出是 objectmodel.collection(of PSObject) 类型。
但是在 trycast 之后,MyBookOwner 保持为空。
如何将 ObjectModel.Collection(Of PSOject) 转换为可用的 vb.net 对象。
【问题讨论】:
-
我认为你不能对输出进行简单的转换。这是我之前回答的一种方法(C#,抱歉):Dealing with CimObjects with PowerShell inside C#
标签: vb.net powershell casting psobject