Outlookルールは、ユーザーがメールボックスを整理するのに役立ちます。 彼らのおかげで、重要なメッセージからスパムをふるいにかけることは、より自動化することができ、ユーザーのメールボッ これがOutlookルールの明るい面です。 あまり明るい面は、ユーザーが非常にそれらに依存し、ルールに関する問題があるたびに、管理者は自分自身が嵐の目にあることを見つけるということです。 ただし、PowerShellを使用してユーザーのOutlookルールを管理する方法を説明するため、落ち着いておくことができます。 しかし、まず、PowerShellで何ができるのか、ユーザーの電子メールクライアントに直接介入する必要があるのかを学ぶために、これらのルールの2種類の違いを知
サーバー側のルールとクライアント側のルール
Outlookのルールは、サーバー側またはクライアント側のいずれかにすることができます。 これらの違いを理解することは、管理者にとって重要であり、タイプによって実行されるタイミングと、それらの管理に使用できるコマンドレットが決
- サーバー側のルール:それらの実行は完全にExchangeサーバーによって実行されます。 これらは、ユーザーのOutlookクライアントがオフラインの場合でも適用されます。 この記事のその他の部分に記載されているすべてのコマンドレットを使用できます。 Outlook Web Appで作成されるルールは常にサーバー側であることに注意してください。 これらのOutlookルールの使用方法には、次のものがあります:
- 電子メールの優先度を変更する、
- 受信メッセージを別のフォルダに移動する、
- 電子メールを削除する。
- クライアント側のルール:これらのルールは、Outlookがオンラインで、ユーザーがログインしている場合にのみ実行されます。 別の電子メールクライアントまたはモバイルデバイスから電子メールにアクセスした場合は動作しません。 さらに、PowerShellを使用して、クライアント側のルールを使用してNew-InboxRuleおよびSet-InboxRuleを使用してそれらを作成または変更することは不可能です。:
- メッセージをPSTファイルに移動し、
- 特定のアドレスからのメールが到着したときに特定の音を再生する
- メッセージを読み取りとしてマークする
ルールがサーバー側 クライアント側のルールには名前に(クライアントのみの)テキストが追加されますが、サーバールールには追加されません:
このOutlookウィンドウは、Outlookルールの種類を確認できる唯一の場所です。 Exchange管理シェルでこれを決定する特定の方法はありません。 通常、クライアント側のルールは、記事の別の部分に示すように、EMSで短い説明を持っていますが、ルールタイプを決定するための確実な方法ではありません。
PowerShellを使用したOutlookルールの管理
Exchange Server2010以降、MicrosoftはOutlookルールのリモート管理にPowerShellを使用する機能を提供しています。 そのために使用されるコマンドレットは次のとおりです:
- Get-InboxRule、指定されたメールボックスのルールセットをプレビューする
- new-InboxRule、リモートで新しいルールを作成する
- Enable-InboxRuleおよびDisable-InboxRule、ルールのオンとオフを3813>remove-inboxruleは、ルールを削除するために使用できます
上記のリストから任意のコマンドレットを正常に実行すると(Get-InboxRuleを除く)、ユーザーのoutlookで作成されたすべ
Get-InboxRule
このコマンドレットは、主に特定のメールボックスに設定されたすべてのルールをプレビューするために使用されます。 その基本的な形では、それはそのように見えます:
Get-InboxRule -Mailbox <mailbox_name>
ご覧のように、各ルールには独自の個別のRuleIdentityパラメータがあります。 このパラメータは、その設定と説明を次のように表示するために使用できます:
Get-InboxRule –Mailbox <mailbox_name> -Identity <number> | FL
ただし、Outlookルールを名前と説明で検索して表示する方がはるかに簡単で効率的です:
Get-InboxRule –Mailbox <mailbox_user> | Select Name, Description | FL
ここでは、前に述べたサーバー側とクライアント側のルールの違いを見ることができます。PowerShellでは、前者の説明は完全ですが、後者の説明ははるかに短く、ルールの条件のみを示しています。
Outlook:
Exchange管理シェル:
New-InboxRule
このコマンドレットを使用すると、Exchange Server管理者はサーバー側のルールをリモートで作成できます。 クライアント側のルールを作成するために使用することはできません。 つまり、ユーザーのOutlookクライアントを使用してのみ、このようなルールを設定できます。
このコマンドレットを使用して二つの異なるルールを作成する方法を示します。
次のコマンドレットは、件名に”spam”という単語を含むメッセージを迷惑メールフォルダに移動するルールを作成します:
New-InboxRule -Name "Move to Spam" -Mailbox j.doe -MoveToFolder '[email protected]:\Junk Email' -SubjectContainsWords "Spam" -StopProcessingRules $True
に移動すると、特定の条件を満たすときに電子メールの件名に”spam”という単語を追加するメールフロールールと組み合わせることができます。
次のコマンドレットは、April15,2017より前に受信した電子メールを受信トレイからアーカイブサブフォルダーに移動するルールを生成します:
New-InboxRule -Name "To archive" -Mailbox [email protected] -MoveToFolder "[email protected]:\Inbox\Archive" -ReceivedBeforeDate "04.15.2017"
Enable-InboxRule,Disable-InboxRule,
それらを使用してOutlookルールのオンとオフを有効にすることができます
Get-InboxRuleを使用して有効になっているルール:
Get-InboxRule –Mailbox <mailbox_name>
ルールの無効化と有効化は同じように機能します:
Disable-InboxRule -Identity <rule_name> -Mailbox <mailbox_name>
Enable-InboxRule -Identity <rule_name> -Mailbox <mailbox_name>
Set-InboxRule
このコマンドレットを使用すると、サーバー側のルールを変更できます。 変更するルールの詳細な説明を確認することをお勧めします。 これは、前述のGet-InboxRuleコマンドレットを使用して行うことができます:
Get-InboxRule –Identity <rule_name> Mailbox <mailbox_user> | Select Name, Description | FL
件名ではなく、メール本文に含まれている”スパム”という単語に反応するように条件を変更しましょう:
Set-InboxRule -Identity <rule_name> -Mailbox <mailbox_name> -BodyContainsWords "spam" -SubjectContainsWords $nule
Remove-InboxRule
最後のコマンドレットは、指定したルールをメールボックスから不可逆的に削除します。
Remove-InboxRule -Identity <rule_name> -Mailbox <mailbox_name>
Outlookルールの一般的な問題
Outlookルールを使用すると、ユーザーはメールボックスのコンテンツを制御および整理できます。 同時に、これらのルールはメッセージに問題を発生させます。 Exchange Server管理者が遭遇する最も一般的な問題は次のとおりです。
ルールの競合
競合は、通常、受信メールに複数のルールが適用される場合に発生します。 たとえば、
JohnはTonyから重要な件名のメッセージを受信します。 JohnのOutlookには、この電子メールに適用される2つのルールがあります。 最初のメッセージは、TonyからCo-workersサブフォルダにすべてのメッセージを移動する必要があります。 第二のルールは、重要な電子メールサブフォルダに重要な件名を持つ電子メールを移動することになっています。
両方のルールがクライアント側のタイプの場合、それらの優先度に従って実行されます(Get-InboxRule-Mailbox<mailbox_name>を使用してルールの優先度を確認できます)。 この状況では、TonyからのメッセージはCo-workersサブフォルダーに移動し、2番目のルールは競合のために強制されません。
しかし、実際の問題は、サーバー側とクライアント側のルールが混在するときに始まります。 Outlookクライアントがオフラインの場合、優先度が低い場合でも、サーバー側のルールが最初に実行されます。 上記の例に戻りましょう。 最初のルールがクライアント側で、2番目のルールがサーバー側の場合、クライアントが実行されているかどうかに応じて、メッセージは別のフォルダに移動
転送ルール
このようなルールを作成する機能は、多くの場合、電子メールが重複しているか、欠落しているか、間違った受信者に行くことにつながります。 このような問題は、ユーザーが休暇に行く前に、彼らが他の誰かに彼らの対応を転送するルールを設定したことを忘れた場合に発生する可能性があります(
このような問題は、Get-MessageTracingLogコマンドレットのログを使用して解決できます。 このような異常は、ソースヘッダーの下にあるMAILBOXRULEエントリを検索することで見つけることができます:
次に、このMAILBOXRULEイベントをフィルタリングできます:
最後に、get-InboxRuleルールを使用して、問題の原因となるルールを確認します:
会社内のOutlookルール
個々のユーザーを支援するだけでなく、Outlookルールを使用して会社全体のワークフローを整理することもできます。 たとえば、ユーザーの受信トレイフォルダにサブフォルダをリモートで作成し、社内アプリケーションから新しく作成されたフォルダに電子メールを移動するルールを作成することができます。 それは、会社全体でうまく組織された対応を維持するのに役立ちます。
まず、EWSベースのスクリプトを使用して、ユーザーのメールボックスにフォルダーを作成できます。
次に、New-InboxRuleを使用して、新しく作成されたサブフォルダに選択したメッセージを移動するルールを作成できます。
これは、企業でOutlookルールを使用する方法の単一の例であることに注意してください。
間違いなく、Outlookのルールは、多くの状況で便利になることができます。 同時に、メールフロールールと一緒にそれらを管理することは、Exchange Server管理者の観点からは非常に圧倒的なものになる可能性があります。 いくつかのケースでは、これらのルールの多数は、会社のメールの流れに大きな障害を引き起こす可能性があります。 管理者の仕事をはるかに簡単にするために、Exchange Rules Proを使用できます。 その多くの機能の1つは、トランスポートルールを管理し、メールフローが妨げられないようにするのに役立つことです。