脚本自动化

作者:mailstore,发布时间:2020-05-11 18:02:28

MailStore Server提供了强大的界面,例如MailStore Server命令行管理程序和MailStore Server管理API,可用于通过脚本自动执行许多任务。这使得可以实现通过GUI难以或不可能实现的方案。此外,脚本编写允许将MailStore Server集成到现有工作流或业务流程中。

本文以几种脚本语言举例说明MailStore Server管理API的用法。在脚本部分,我们对各种脚本进行了分类,这些脚本利用了演示的技术并解决了常见的问题。这些脚本可以自由使用,并且可以适应特定的环境或用作进一步解决方案的基础。

重要声明:必须将本节中发布的脚本代码视为参考和示例实现。除非另有说明,否则脚本是根据MIT许可条件发布的。

 

使用窗口批处理脚本

对于简单的任务,例如批量导入或导出PST文件,也可以使用Window批处理脚本。通常,这些脚本不是通过MailStore Server管理API而是通过命令行解释器来控制MailStore Server 。

在命令行cmd.exe上执行Windows批处理脚本之前,需要在文本编辑器(如记事本)中打开脚本文件。调整此线上方的“请勿更改任何东西”上方的配置变量,以适应您的本地环境。请注意不要更改任何单引号或双引号。

要获取MailStore Server证书的指纹(指纹,哈希),请按照下列步骤操作:

  • 打开MailStore Server服务配置
  • 导航到网络设置

脚本编写-1

  • 单击用于MailStore客户端的服务器证书的名称
  • 在证书的详细信息中找到指纹

证书信息

请注意,在复制指纹时,指纹的第一个字符前面可能会出现一个不可见的字符。该不可见字符不能出现在脚本文件中。有关详细信息,请参见[1]

可用的Windows批处理脚本

文档名称 描述
bulkImportPST.bat 将多个PST文件从给定目录导入到给定MailStore用户的存档中。必须预先手动创建名称为“templateBulkImportPST”的PST归档配置文件。
bulkImportMBOX.bat 将多个MBOX文件从给定目录导入到给定MailStore用户的存档中。必须事先手动创建名称为“templateBulkImportMBOX”的MBOX归档配置文件。
bulkExportPST.bat 将所有存档导出到MailStore用户分隔的多个PST文件中。必须事先手动创建名称为“templateBulkExportPST”的PST导出配置文件。
bulkDeleteUsers.bat 删除除默认管理员用户“admin”以外的所有MailStore用户。

 

使用Python脚本

与简单的Windows批处理脚本相比,使用高级脚本语言可以更轻松地自动化复杂的过程。作为一种广泛使用,独立于平台且易于学习但功能强大的脚本语言,Python非常适合通过MailStore Server Administration API控制MailStore Server 。

为了能够执行Python脚本,您需要安装Python运行时。可以从Python.org下载Python运行时的Windows安装程序。对于Linux操作系统,请按照发行商的包管理器的说明安装Python运行时。

要执行我们的脚本,需要一个版本的Python API Wrapper 。包装器的安装说明在Python API Wrapper教程的相应部分中提供。

为了执行Python脚本,您必须打开要使用IDLE执行的脚本文件(Python的Windows安装程序附带),并在该行上方调整配置部分,以表明不要更改此行。请注意不要更改任何双引号或单引号。

要执行脚本,请单击运行 > 运行模块或按IDLE中的F5键。会弹出一个新窗口,您可以在其中遵循脚本的标准输出并查看可能的执行错误。

如果您打算用Python编写自己的脚本来自动执行MailStore Server任务,则Python API Wrapper教程提供了一个很好的起点。否则,如果您只想使用提供的Python脚本,则可以从此处下载它们。

可用的Python脚本

文档名称 描述
mergeFolders.py 合并用户归档文件的第一级子文件夹。归档用户的多个PST后可以使用。
createUserFolders.py 根据MailStore用户名在文件系统中创建文件夹。可用于准备批量导入EML,MSG或PST文件。
namedInbox.py 在某些情况下,存档中有两个“收件箱”文件夹(“收件箱”和“ INBOX”)。该脚本将它们合并。您应该将它们合并到“收件箱”文件夹中,该文件夹由活动的归档配置文件填充。
updateUserNames.py 当目录服务更改时,用户名也可能更改。发生这种情况时,将创建新的存档,并且归档可能会填充这些新的存档。MailStore与更改的目录服务同步之前,可以使用此脚本。它在自己的档案中准备用户名,档案和特权。如果在其他归档文件上设置了特权,则必须手动调整这些特权。
check_mailstorelicense.py Nagios / Icinga插件,用于监视可用许可证。有关更多详细信息,请参见监视
check_mailstore.py Nagios / Icinga插件,用于监视最新结果。有关更多详细信息,请参见监视

使用PowerShell脚本

作为Windows的每个较新版本附带的标准外壳,基于.NET框架的Windows PowerShell也非常适合通过MailStore Server Administration API控制MailStore Server 。

MailStore PowerShell API包装器和脚本与Windows PowerShell 3.0及更高版本兼容。根据Windows版本的不同,必须分别安装Windows PowerShell。可以从Microsoft下载中心免费下载。

如果要实现自己的脚本来自动执行MailStore Server任务,那么PowerShell API Wrapper教程非常适合作为入门。如果只想使用MailStore提供的脚本,则可以直接直接导航到该部分。