【问题标题】:How do I find ActiveSync attributes from Exchange with C#?如何使用 C# 从 Exchange 中查找 ActiveSync 属性?
【发布时间】:2011-12-21 04:24:13
【问题描述】:

我正在尝试从 Exchange 中查找一些 ActiveSync 属性。我找到了一个很好的article,它显示了一个用于查找此信息的 PowerShell cmdlet。但我试图找到这些信息的实际存储位置。我在ADSI 编辑中查看了我的用户对象,以查看是否有任何属性是这些值,但似乎并非如此。 如何使用 C# 找到这些信息?

【问题讨论】:

  • 您可以在进程中使用 C# 中的 powershell 和 cmdlet。类似于可以在此处找到的内容:stackoverflow.com/questions/7560728/…
  • 是的 - 这是可能的......请参阅下面的答案。

标签: .net exchange-server activesync


【解决方案1】:

要获取特定 ActiveDirectory 对象(即用户)的 ActiveSync 属性,您可以使用 CASMailbox 班级。

它有一个使用 ADObject 的构造函数,然后为您提供多个属性,例如 HasActiveSyncDevicePartnership - 您甚至可以更改这些属性(前提是您具有所需的权限)。

编辑 - 根据 cmets:

CASMailbox 课程满足您的所有需求。
例如ActiveSyncMailboxPolicy,它是一个ADObjectId,反过来可以查询多个属性...
另一个示例 ActiveSyncAllowedDeviceIDsMultiValuedProperty,您可以查询 DeviceID 等。

这种访问属性的方式可能不太好,但它肯定会为您提供所有信息...如果您想要一些相当不错的源代码(在这种情况下适用于 PS),请参阅http://www.java2s.com/Open-Source/CSharp/Web/dotpanel/dotPanel/Providers/HostedSolution/Exchange2007.cs.htm

【讨论】:

  • 虽然这个类确实为我提供了“HasActiveSyncDevicePartnership”属性,但它并没有公开任何实际的 ActiveSync 属性,例如 DeviceType、DeviceID 等。
【解决方案2】:

Get-CASMailbox 将为您提供HasActiveSyncDevicePartnerShip 等基本信息。这些属性存储在活动目录中,您可以在个人帐户下使用 adsiedit 查看它们。

如果您想要更多属性,如 DeviceFriendlyName、LastSuccessSync、DeviceImei,则必须使用 PS Cmdlet Get-MobileDeviceStatistics 从邮箱本身检索它们。

有几种方法可以在 C# 代码中使用 PS CmdLets,作为交换,您可能想要使用 PS Remoting:https://stackoverflow.com/a/9627716/1984242

【讨论】:

    猜你喜欢
    • 2020-07-30
    • 2013-06-07
    • 2012-01-31
    • 2012-09-14
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    • 2013-10-04
    • 2017-05-12
    相关资源
    最近更新 更多