スクリプト

MailStore Serverの導入や運用の自動化に役立つスクリプトを紹介します。

スクリプトの使用

 
 

MailStore Server管理APIと同様に、MailStore Server管理シェルにより、スクリプトを使用して各種タスクを自動化することができます。このページでは、よくお問合せをいただくケースに対するソリューションを提供するスクリプトをまとめて説明します。

なお、この記事ではスクリプトの実行とあわせて、必要となる準備のステップについても説明します。


Windowsバッチスクリプトの使用

cmd.exe によるコマンドラインでWindowsバッチスクリプトを実行する前に、メモ帳等のテキストエディタでスクリプトを開き、"DON'T CHANGE ANYTHING BEYOND THIS LINE"と書かれた行より上に記述されている設定用の変数の値を、ご使用の環境に応じて修正します。シングルクォートやダブルクォートを変更しないよう注意してください。


Pythonスクリプトの使用

事前準備

スクリプトパッケージに同梱されているPythonスクリプトを実行する為には、Pythonのランタイムをインストールしておく必要があります。PythonのWindows用インストーラーは http://www.python.org からダウンロードすることができます。OSとしてLinuxをご利用の場合はお使いのディストリビューションのパッケージマネージャの説明書に従ってPythonのランタイムをインストールしてください。

スクリプトパッケージには MailStore Server管理APIのPython用ラッパーが含まれています。パッケージのダウンロード後、ローカルハードディスク上の任意のディレクトリに展開してください。

Pythonスクリプトの実行

Pythonスクリプトを実行する為に、まずは実行したいスクリプトファイルをエディタプログラムである"IDLE"(PythonのWindows用インストーラに含まれています)で開き、"DON'T CHANGE ANYTHING BEYOND THIS LINE" と書かれた行の上部に記述されている設定セクションを、ご使用の環境に合わせて調整します。シングルクォートやダブルクォートを変更しないよう注意してください。

スクリプトを実行するにはIDLE上で、 [Run] -> [Run Module] をクリックするかF5キーを押してください。新規ウィンドウが立ち上がり、スクリプトの標準出力や実行エラーの情報を確認することができます。

変更履歴

2013-04-17 新規: updateUserNames.py, mergeFolders.py
2013-06-25 バグ修正: MailStoreApi.RebuildStoreIndex が正しく動作しなかった問題を修正しました。

 
 
 

Windowsバッチスクリプト

 
 

以下のWindowsバッチスクリプトは別途ソフトウェアの追加の必要なく実行することができます。このスクリプトの使用方法についての詳細は、「スクリプトの使用」を参照してください。

 

bulkImportPST.bat

指定されたディレクトリ内のすべてのPSTファイルから、指定されたユーザーのアーカイブフォルダへアーカイブを行います。まず最初に、templateBulkImportPST という名前で、MailStore上にPSTファイル用のアーカイブプロファイルを作成してください。

bulkImportPST.bat directory username

引数

directory

アーカイブ対象のPSTファイルが格納されているディレクトリを指定します。

username

アーカイブ先のユーザー名を指定します。

 

bulkImportMBOX.bat

指定されたディレクトリ内のすべてのMBOXファイルから、指定されたユーザーのアーカイブフォルダへアーカイブを行います。まず最初に、templateBulkImportMBOX という名前で、MailStore上にMBOXファイル用のアーカイブプロファイルを作成してください。

bulkImportMBOX.bat directory username

引数

directory

アーカイブ対象のMBOXファイルが格納されているディレクトリを指定します。

username

アーカイブ先のユーザー名を指定します。

 

bulkExportPST.bat

アーカイブ全体をPSTファイルにエクスポートします。既存のMailStoreユーザー毎に新規にPSTファイルが作成されます。まず最初に、templateBulkExportPST という名前で、MailStore上にPSTファイル用のエクスポートプロファイルを作成してください。

bulkExportPST.bat directory

引数

directory

PSTファイルが作成されるディレクトリを指定します。

 

bulkDeleteUsers.bat

admin ユーザー以外のすべてのMailStoreユーザーを削除します。

bulkDeleteUsers.bat

引数

引数の指定は必要ありません。

 

 

Pythonスクリプト

 
 

以下のPythonスクリプトを実行するには、Pythonのランタイムをインストールしておく必要があります。スクリプトの使用方法やPythonラインタイムのインストールの詳細については、「スクリプトの使用」を参照してください。

bulkAttachStores.py

指定したパス配下に配置されているすべてのアーカイブストアを添付(アタッチ)します。

構成オプション

MailStore Server管理API の接続設定に加え、スクリプト内で以下のオプションを設定する必要があります。

path

アーカイブストアが配置されているファイルシステム上のパスを指定します。このパス配下の各サブディレクトリがそれぞれ添付(アタッチ)する対象のアーカイブストアとして扱われます。

state

アーカイブストアの状態の指定を行います。指定可能な値の一覧は次の通りです。

disabled, writeProtected, normal, current

詳細については製品マニュアルにて、MailStore Server管理APIの CreateStore コマンドの説明を参照してください。

 

bulkSetState.py

添付(アタッチ)済みのすべてのアーカイブストアの状態を指定された値にセットします。

構成オプション

MailStore Server管理API の接続設定に加え、スクリプト内で以下のオプションを設定する必要があります。

state

セットしたい状態を指定します。指定可能な値の一覧は次の通りです。

disabled, writeProtected, normal, current

詳細については製品マニュアルにて、MailStore Server管理APIの CreateStore コマンドの説明を参照してください。

 

bulkUpdatePermissions.py

すべてのユーザーのパーミションを指定された値にセットします。ご注意ください: この操作はGUIを使用して行うこともできます。

構成オプション

MailStore Server管理API の接続設定に加え、スクリプト内で以下のオプションを設定する必要があります。

privileges

カンマ区切りで、グローバル権限のリストを指定します。指定可能な値の一覧は次の通りです。

none, admin, login, changePassword, archive, modifyArchiveProfiles, export, modifyExportProfiles, delete

詳細については製品マニュアルにて、MailStore Server管理APIの CreateUser コマンドの説明を参照してください。

privilegesOnFolder

カンマ区切りで、フォルダ権限のリストを指定します。指定可能な値の一覧は次の通りです。

none, read, write, delete

詳細については製品マニュアルにて、MailStore Server管理APIの SetUserPrivilegesOnFolder コマンドの説明を参照してください。

 

findDuplicateEmailAddress.py

MailStore上で、同じメールアドレスを割り当てられているメールアドレスとユーザーの一覧を出力します。

構成オプション

MailStore Server管理API の接続設定を調整してください。

 

mergeFolders.py

複数のソース(例. 多数のPSTファイル) からのメールをアーカイブすると、通常、該当ユーザーのアーカイブフォルダ配下に複数のサブフォルダに分かれて格納されます。このスクリプトはそれらのマージを行います。

構成オプション

MailStore Server管理API の接続設定に加え、スクリプト内で以下のオプションを設定する必要があります。

operation

"Exchange"にセットすると、すべてのフォルダが、ユーザーのExchangeフォルダにマージされます。その他の値にセットすると、そのフォルダにマージまたは移動されます。

regex

この変数を使用してリネームされるフォルダのフィルタリングが行えます。ここでは正規表現を使用することができます。

file

file が指定されると、そのファイルに記載されたユーザーのフォルダだけがマージされます。ファイルには1行あたり1ユーザーを記述します。

 

renameInbox.py

MailStore は通常、アーカイブフォルダに"INBOX"というフォルダを作成します。古いメールが"Inbox"に、新しいメールが"INBOX"にあるとします。このスクリプトは"Inbox"フォルダを"INBOX"フォルダにリネームし、両方のフォルダを"INBOX"にマージします。

構成オプション

MailStore Server管理API の接続設定を調整してください。

 

updateUserNames.py

ドメインの構成が変更されたり、ユーザーのsAMAaccountNames が変更されると、MailStoreはディレクトリサービスと同期する際に、新しいユーザーとしてこれらのユーザーを認識してしまいます。不要なユーザーの作成や手動によるユーザーの名前変更、フォルダの移動、権限の設定を避ける為に、このスクリプトを使用することができます。

構成オプション

file

ユーザー名が記載されたファイルを指定します。このファイルは次のような形式である必要があります。

oldusername=newusername

1行ごとに1ユーザーを記述します。# もしくは ; で始まる行はコメントとして扱われます。

operation

rename  もしくは prepare を指定します。rename を指定すると、リネームが実行されます。 prepare を指定するとMailStoreから現在のユーザーを読み込み、テンプレートファイルを生成します。このファイルに新しいユーザー名を挿入することで、fileに指定するファイルに利用できます。