如何从 ExchangeManagement Shell 创建的枚举中获取值

问题描述 投票:0回答:1

如何在 C Sharp 中获取身份的访问权限列表。
我尝试投射的地方

obj.Properties["AccessRights"].Value
PSObject
PSObject[]
object
等..\

但是一切都导致

Microsoft.Exchange.Management.RecipientTasks.MailboxRights[]
无法施放。 我专门使用
Microsoft.NET\Framework64\v2.0.50727

String execCommand = "Get-MailboxPermission -Identity \"{OBJECT_GUID}\"";
results = executeCommand(execCommand,ref errString);

foreach (PSObject obj in results) {
\\ get the list of accessrights here
\\ obj.Properties["AccessRights"].Value;
}
c# powershell exchange-server
1个回答
0
投票

您可以将

AccessRights Properties
转换为
Array
,这样您将从数组的第一个元素中获得结果。

Array accessRights = (obj.Properties["AccessRights"].Value as Array);
String result = accessRights.GetValue(0).ToString();

通过使用这种方式,无需将 AccessRights 属性强制转换为

Microsoft.Exchange.Management.RecipientTasks.MailboxRights[]

© www.soinside.com 2019 - 2024. All rights reserved.