PowerShell 2.0通过C#,返回值为空?
我正在使用C#调用Exchange2010 PowerShell方法,但遇到了一个障碍 Execute方法返回的集合没有BaseObject。我可以使用.Properties[“PropertyName”],但似乎所有这些值都是字符串值。对于文件大小、guid等来说不是很实用 在阅读中,这似乎是正常的,我拥有的类型是反序列化的.Namespace.TypeNamePowerShell 2.0通过C#,返回值为空?,c#,powershell-2.0,exchange-server,C#,Powershell 2.0,Exchange Server,我正在使用C#调用Exchange2010 PowerShell方法,但遇到了一个障碍 Execute方法返回的集合没有BaseObject。我可以使用.Properties[“PropertyName”],但似乎所有这些值都是字符串值。对于文件大小、guid等来说不是很实用 在阅读中,这似乎是正常的,我拥有的类型是反序列化的.Namespace.TypeName 我正在寻找一种方法,将它们序列化回一个可以使用属性等的活动对象。我有适当的DLL和所有东西。您可以获得如下原始对象: PS位: $r
我正在寻找一种方法,将它们序列化回一个可以使用属性等的活动对象。我有适当的DLL和所有东西。您可以获得如下原始对象: PS位:
$results = $MyCustomCollection
C#位:
System.Collections.ObjectModel.Collection
结果=pipeline.Invoke();
客户集合客户集合
=(CustomCollection)运行空间.SessionStateProxy.GetVariable(“结果”);
您必须确保返回的唯一对象是该对象,而不是其他对象;
因此,将任何将返回任何内容的内容设置为null 您可以获得如下原始对象: PS位:
$results = $MyCustomCollection
C#位:
System.Collections.ObjectModel.Collection
结果=pipeline.Invoke();
客户集合客户集合
=(CustomCollection)运行空间.SessionStateProxy.GetVariable(“结果”);
您必须确保返回的唯一对象是该对象,而不是其他对象;
因此,将任何将返回任何内容的内容设置为null 似乎我可以获得任何想要的属性,但它需要在远程调用的PS脚本中 我是在通过直接远程PowerShell而不是Exchange命名空间查询PowerShell时发现这一点的 这里有一个例子
$spsite | Select Id, Url,
@{ Name = "Owner"; Expression = { $_.Owner.UserLogin } }
这非常有效,我可以使用
psResult.Members["Owner"].Value as string
要获取所有者似乎我可以获取我想要的任何属性,但它需要在远程调用的PS脚本中 我是在通过直接远程PowerShell而不是Exchange命名空间查询PowerShell时发现这一点的 这里有一个例子
$spsite | Select Id, Url,
@{ Name = "Owner"; Expression = { $_.Owner.UserLogin } }
这非常有效,我可以使用
psResult.Members["Owner"].Value as string
找主人