Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell 2.0通过C#,返回值为空?_C#_Powershell 2.0_Exchange Server - Fatal编程技术网

PowerShell 2.0通过C#,返回值为空?

PowerShell 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

我正在使用C#调用Exchange2010 PowerShell方法,但遇到了一个障碍

Execute方法返回的集合没有BaseObject。我可以使用.Properties[“PropertyName”],但似乎所有这些值都是字符串值。对于文件大小、guid等来说不是很实用

在阅读中,这似乎是正常的,我拥有的类型是反序列化的.Namespace.TypeName


我正在寻找一种方法,将它们序列化回一个可以使用属性等的活动对象。我有适当的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
找主人