交换公共文件夹的电子邮件地址列表

2023-12-23

如何获取 Exchange 公用文件夹的所有电子邮件地址的列表?

我会自己回复,会接受最好的回复。


虽然您作为自己的答案发布的内容可行,但阅读您正在使用的方法和对象的文档以了解它们的局限性会有所帮助。如果您多次调用此代码,您最终会遇到内存泄漏。这foreach声明不调用Dispose()对于所使用的对象,只有它创建的枚举器。下面是一种更好的搜索目录的方法(尽管很少进行错误检查并且没有异常处理)。

public static void GetPublicFolderList()
{
    DirectoryEntry entry = new DirectoryEntry("LDAP://sorcogruppen.no");
    DirectorySearcher mySearcher = new DirectorySearcher(entry);
    mySearcher.Filter = "(&(objectClass=publicfolder))";
    // Request the mail attribute only to reduce the ammount of traffic
    // between a DC and the application.
    mySearcher.PropertiesToLoad.Add("mail");

    // See Note 1
    //mySearcher.SizeLimit = int.MaxValue;

    // No point in requesting all of them at once, it'll page through
    // all of them for you.
    mySearcher.PageSize = 100;

    // Wrap in a using so the object gets disposed properly.
    // (See Note 2)
    using (SearchResultCollection searchResults = mySearcher.FindAll())
    {
        foreach (SearchResult resEnt in searchResults)
        {
            // Make sure the mail attribute is provided and that there
            // is actually data provided.
            if (resEnt.Properties["mail"] != null
                 && resEnt.Properties["mail"].Count > 0)
            {
                string email = resEnt.Properties["mail"][0] as string;
                if (!String.IsNullOrEmpty(email))
                {
                    // Do something with the email address
                    // for the public folder.
                }
            }
        }
    }
}

Note 1

备注为目录搜索器.SizeLimit http://msdn.microsoft.com/en-us/library/system.directoryservices.directorysearcher.sizelimit.aspx指示如果大小限制高于服务器确定的默认值(1000 个条目),则忽略该大小限制。分页使您可以根据需要获取所需的所有条目。

Note 2

备注为DirectorySearcher.FindAll() http://msdn.microsoft.com/en-us/library/system.directoryservices.directorysearcher.findall.aspx提到需要处置 SearchResultCollection 以释放资源。将其包裹在一个using声明清楚地表明了您作为程序员的意图。

Extra

如果您使用的是 Exchange 2007 或 2010,您还可以安装 Exchange 管理工具并使用 powershell cmdlet 查询公用文件夹。您可以务实地创建 powershell 运行空间并直接调用 Exchange cmdlet,而实际上不需要用户与之交互的控制台。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

交换公共文件夹的电子邮件地址列表 的相关文章

随机推荐

  • python中的正则表达式组重复

    string input ports 6012 6017 6016 m re match input ports s d 4 s d 4 s d 4 string print m groups gt 6012 6017 6016 但是当我想
  • elasticsearch聚合按聚合比率排序

    我在分析中有一个场景 我想计算表现最差的 20 个网点在 1000 多家门店中performance transactionCount VisitCount每月在折扣店 映射是 CustomerVisit properties outlet
  • 为什么 64 位机器上会出现内存碎片问题?

    在 32 位机器中 每个进程获得 4GB 的虚拟空间 在这种情况下 人们可能会担心我们可能会因为碎片化而遇到麻烦 但对于 64 位机器 理论上我们拥有巨大的可寻址虚拟内存 那么为什么内存碎片在 64 位机器中仍然是一个问题 如果有的话 您尝
  • HTML5 模板无法在 Internet Explorer 上运行,如何解决?

    我用 HTML5 制作了一个模板 它适用于 Chrome 和 Firefox 但不适用于 Internet Explorer 在 IE 8 上测试 我怎么解决这个问题 只需将 display none 添加到您的模板中即可 适用于 11
  • asyncio 的默认调度程序什么时候公平?

    我的理解是asyncio gather旨在运行其参数同时此外 当协程执行等待表达式时 它为事件循环提供了安排其他任务的机会 考虑到这一点 我惊讶地发现以下代码片段忽略了其中一个输入asyncio gather import asyncio
  • 通过 WSDL/SoapServer 解析 SOAP 响应

    我需要接受包含一些数据的不可修改的 SOAP 消息 它被发布到我的 WSDL 文件 然后是 PHP SoapServer 如何通过 wsdl 或 php 提取消息中的特定数据 封装在 xml 键中 Data flow actions are
  • 将值数组从 Android Activity 传递到 WebView 中的 JavaScript

    我正在使用 JS Charts 库在 Android 应用程序的 WebView 中绘制图表 我想提供 SQLite 数据库中的数据 此时此刻 我陷入了如何将数据数组从 Java 传递到 JavaScript 的困境 JavaScript
  • 在 jTable 中移动一行

    如何将一排移入jTable以便row1去row2的位置和row2去row1的立场 Use the moveRow 的方法DefaultTableModel 或者 如果您不使用 DefaultTableModel 则在自定义模型中实现类似的方
  • 禁用 VSCode 提示:“您要保存工作区配置吗”?

    使用最新发布的 VSCode 版本 在撰写本文时 2018 年 1 月 29 日 版本 1 19 3 我看到以下行为 根据我的需要 这不必要地耗时 每当我尝试关闭从多个不同目录打开文件的窗口时 我都会收到以下提示 您想将工作区配置保存为文件
  • RavenDB 嵌套可变长度数组上的 Map/Reduce/Transform

    我是 RavenDB 的新手 到目前为止我很喜欢它 我还需要为我的项目创建一个索引 问题 我有数千份调查回复 即 Submissions 并且每个提交都有一系列特定问题的答案 即 Answers 每个答案都有一系列已选择的选项 即 Valu
  • jQuery 选择器与 React 可以吗?

    我知道混合 jQuery 和 ReactJS 是不可取的 因为 ReactJS 不知道 jQuery 对 DOM 所做的任何修改 但是 如果您仅使用 jQuery 轻松便捷地查询 DOM 和查找节点 而将所有 DOM 编辑工作留给 Reac
  • 关于Python中numpy数组如何存储的一些困惑

    在 Python 中使用数据类型 numpy 数组时 我遇到了一些困惑 问题1 我在 python 解释器中执行以下脚本 gt gt gt import numpy as np gt gt gt L 1000 2000 3000 gt gt
  • 带参数的 Docker ENTRYPOINT shell 形式

    当我有一个包含以下行的 Docker 映像 Spring Boot 微服务 时 ENTRYPOINT java org springframework boot loader JarLauncher 我可以使用例如启动容器 docker r
  • 安装 pywin32 时出现问题

    我正在尝试为 Python 2 6 安装 pywin32 我安装了 python 但它不在常规的 c 驱动器中 而是在 d 驱动器上 pywin32 安装程序找不到它 我无法提供它的自定义路径 我查了一下 python文件夹就是路径 这个问
  • 优化SQL Server WHERE子句条件中的CASE WHEN语句

    我正在重写我的 sql 以减少执行成本 并想知道是否有一种有效的方法来编写 WHERE 条件中使用的以下 CASE WHEN 语句 SELECT l tg FROM RefTable tg InputTbl l WHERE tg areas
  • 如何从 Spark 中的数组列中选择字段的子集?

    假设我有一个 DataFrame 如下 case class SubClass id String size Int useless String case class MotherClass subClasss Array SubClas
  • java 密钥库文件限制

    我为我的 PFX 证书创建了一个密钥库文件 PKCS 12 http en wikipedia org wiki PKCS12 但我需要知道密钥库文件 JKS 中可以存储多少个密钥 我目前正在加载证书 如下所示 KeyStore oStor
  • 如何防止UIWebView视频获取远程控制事件

    我在 iOS 应用程序中使用 UIWebView 来播放 YouTube 视频 但为了提供本机体验 我使用 UIKit 实现了播放控件 所以UIWebView仅用于显示视频 我也实现了 remoteControlReceivedWithEv
  • 使用 SpriteKit 的 TextureAtlas 并通过 Xcode 命令行构建时,iOS 应用程序崩溃

    我们使用iOS 7中新的SpriteKit框架来开发小游戏 为了构建和分发游戏的新版本 我们使用构建和部署服务器 该服务器使用 Xcode5 的命令行工具 当我们使用一个纹理图集 https developer apple com libr
  • 交换公共文件夹的电子邮件地址列表

    如何获取 Exchange 公用文件夹的所有电子邮件地址的列表 我会自己回复 会接受最好的回复 虽然您作为自己的答案发布的内容可行 但阅读您正在使用的方法和对象的文档以了解它们的局限性会有所帮助 如果您多次调用此代码 您最终会遇到内存泄漏