将对象添加到ArrayList会导致对象的属性转换为

时间:2016-03-15 17:21:10

标签: powershell exchange-server

我正在使用Exchange Server 2013通讯组和ArrayList。

$groups = @()
$groups += Get-DistributionGroup "groupName"
foreach($group in $groups)
...

我尝试提取$group.ManagedBy属性,这是ADMultiValuedProperty,但是在我的脚本中,ManagedBy正在转换为ArrayList,我失去​​了属性由ManagedBy引起的(例如$group.ManagedBy.Name在应该有值时为空)。为什么会发生此类型转换?

1 个答案:

答案 0 :(得分:1)

您所看到的是使用远程管理会话的结果。从远程会话返回的对象将进行序列化/反序列化过程,并且您将留下反序列化的对象。序列化仅保持对有限深度的保真度,因此您可能会丢失嵌套在基础对象属性中的对象的某些属性。您还将丢失对象方法。

当您手动序列化和反序列化对象时(使用export / import-clixml),您可以指定要维护的保真度深度,但据我所知,这对于远程处理使用的序列化过程是固定的,并且没有办法更改。你只需要学会期待它并围绕它编码。