vba - 有没有办法使用 VBA 从 Outlook 配置文件中删除额外的邮箱?
问题描述
我们正在将邮箱从多林环境中的 Exchange 组织迁移到 Exchange Online。当我们从其中一个林迁移共享邮箱并且用户将该邮箱映射到他们的配置文件时,它会导致迁移后出现多个用户体验问题,因为配置文件正在寻找它不再存在的邮箱。我们希望找到一种方法,通过将其从个人资料中删除来以编程方式更新有权访问此邮箱的人的个人资料。到目前为止,还没有找到解决方案。我没有使用 VBA 的经验,但其他人建议它可能会起作用。有谁知道如何做这样的事情?
解决方案
Outlook 对象模型不允许您删除委托存储。您可以使用 Extended MAPI(C++ 或 Delphi)或Redemption(任何语言)。在 Redemption 的情况下,您可以使用RDOStore .Remove方法:创建RDOSession对象的实例,将其MAPIOBJECT
属性设置为Application.Session.MAPIOBJECT
from Outlook(这将确保 Redemption 和 Outlook 使用相同的 MAPI 会话),遍历RDOSession.Stores
集合,找到按名称或通过检查存储类型名称(TypeName()
将返回“RDOExchangeDelegateMailboxStore”)存储问题,调用RDOStore.Remove
.
也可以在不运行 Outlook 或使用ProfMan库(与 Redemption 的可分发版本附带)登录配置文件的情况下删除存储,但它涉及更多,因为 ProfMan 需要对存储配置方式的低级别知识在 MAPI 中。
推荐阅读
- intellij-idea - intellij idea 运行/调试配置窗口太小,无法显示所有选项
- reactjs - 安全性 - 使用第一方 ReactJS 前端和 React-Native 应用程序进行 Laravel 护照身份验证
- python - 比较两个字符串列表
- java - 创建一个名为“entityManagerFactory”的bean
- html - 网页在屏幕上滚动不流畅
- php - 查看有关 Locust 中“失败”的详细信息
- windows - 决定使用 Gmail 作为默认的 Windows 10 电子邮件协议
- ubuntu - Nginx 不允许执行任何操作
- thymeleaf - 如何在不重新启动服务器的情况下查看 Broadleaf 中的 Thymeleaf 模板更改?
- rubygems - 如何查看已安装 rubygem 的文档?