我正在编写一条命令,该命令通过PSsession连接到远程计算机,从远程计算机获取.NET对象,然后在本地使用它。
但是,我返回的对象不是我在远程端创建的.NET对象,而是一个PSCustomObject,它拒绝转换回其原始对象。
有人知道如何执行此操作吗?
此方法只是众多方法中的一种,因此,对于如何处理任何.NET对象而不是此方法中的特定对象的一般性回答,将不胜感激。
我得到的错误是; 无法将类型为“ System.Management.Automation.PSCustomObject”的对象转换为类型为“ System.IO.FileInfo”。
谢谢 标记
readonly PSSession session;
public FileInfo GetFileInfo(string p)
{
Pipeline pipe = session.Runspace.CreatePipeline();
string format = "(New-object System.IO.FileInfo \"{0}\") -as [System.IO.FileInfo]"; // Have tried many ways to force it to a FileInfo
string command = string.Format(format,p);
pipe.Commands.AddScript(command);
Collection<PSObject> res = pipe.Invoke();
foreach (PSObject ps in res)
{
return (FileInfo)ps.BaseObject;
}
// no items
return null;
}