转移到外部 Exchange 提供商 - 如何在多台 PC 上创建新的 Outlook 配置文件?

ima*_*dei 5 automation scripting exchange outlook

收购后,我们将从本地交易所转向外部供应商。我需要更改帐户设置/创建新配置文件,以便用户能够访问他们的新邮箱,我讨厌在每个客户端上手动执行此操作的想法。

我尝试了快速而肮脏的解决方案,将配置文件信息从一台计算机上的注册表复制到另一台计算机上,希望以后可以修复用户信息。很明显,这不起作用:Outlook 识别了配置文件,我可以在应用程序启动时选择它,但有趣的事情就这样结束了 - 配置文件已损坏。我也无法更改控制面板上邮件设置中的设置。

没有找到任何组策略解决方案。

是否有任何应用程序、脚本或其他解决方案可以帮助我节省从一台 PC 通勤到另一台 PC 并一遍又一遍地输入相同信息的时间?

ima*_*dei 1

好吧,我找到了完美的解决方案。它使用一个简单的登录脚本,因此艾弗里·佩恩(Avery Payne)可能会说您至少部分正确:)

Outlook(2003及更高版本,不知道早期版本)允许通过PRF文件导入配置文件信息。它是一个纯文本文件,因此您可以从头开始编写它,或者最好从现有配置文件中导出它并根据需要进行编辑。我使用了第二种变体。

我下载了 Office Resource Kit - 我从 2003 版本导出 PRF 文件,因此我下载了 Outlook 2003 版本(ORK.EXE,在此处下载)。

安装它并获得自定义安装向导,它使您能够将现有配置文件导出到 PRF 文件。不用说,您首先需要在要导出的 PC 上配置工作配置文件。

成功导出后,我编辑了 PRF 文件以丢失不必要的内容并使用 Windows 变量概括一些设置,以便在导入 PRF 文件后获得用户特定信息:

MailboxName=%UserName%
OfflineAddressBookPath=%USERPROFILE%\local settings\application data\microsoft\outlook\
Run Code Online (Sandbox Code Playgroud)

我还想确保默认用户配置文件不会被覆盖,因此我更改了相应的设置以匹配:

DefaultProfile=No
OverwriteProfile=No
ModifyDefaultProfileIfPresent=FALSE
Run Code Online (Sandbox Code Playgroud)

另请考虑离线邮件缓存的路径...如果您使用两个配置文件,您可能需要重命名该文件,以便一个配置文件不会覆盖第二个配置文件的缓存电子邮件,反之亦然:

OfflineFolderPath=%USERPROFILE%\local settings\application data\microsoft\outlook\_Custom_name_here.ost
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请阅读白皮书:使用 PRF 文件配置 Outlook 配置文件 ->链接

我创建了一个非常简单的登录脚本,实际上几乎太简单了。我可以检查配置文件是否已经存在并完全跳过该过程,但有时快速和肮脏的工作也很好:

@echo off
if exist "%PROGRAMFILES%\Microsoft Office\OFFICE11\OUTLOOK.EXE" (call "%PROGRAMFILES%\Microsoft Office\OFFICE11\OUTLOOK.EXE" /promptimportprf "\\computername\sharename\path_to_Outlook_profile.PRF")
if exist "%PROGRAMFILES%\Microsoft Office\OFFICE12\OUTLOOK.EXE" (call "%PROGRAMFILES%\Microsoft Office\OFFICE12\OUTLOOK.EXE" /promptimportprf "\\computername\sharename\path_to_Outlook_profile.PRF")
Run Code Online (Sandbox Code Playgroud)

接下来,我将脚本附加到 OU 组策略,瞧!我为用户编写了说明,并仍在帮助一些人完成配置文件的设置。仍然比手动配置所有客户端容易得多。

无论如何,以下网站对我的突破至关重要,因此值得在此处链接:访问他们

感谢马修,他的帖子为我指明了正确的方向。