FPE 2010のForefront管理シェルで使用できるコマンドレット (Set-FseRealtimeScan) について

スポンサーリンク

Forefront Protection 2010 for Exchange Server (FPE 2010) のForefront管理シェルは、PowerShellを用いたコマンドラインインタフェースです。

Forefront管理シェルは、FPE 2010の管理を目的として様々なコマンドレットが用意されていますが、 オンライン上では説明のみで詳細なコマンド オプション情報については公開されていないようです。

このヘルプ情報について、オンライン上で日本語として確認したいと思い、本ブログ上で纏めたいと思います (内容については「Get-Help」コマンドレットの-Fullオプションを用いて実行した結果を編集したものとなります)。

この記事では、「Set-FseRealtimeScan」コマンドレットについて記載します (他のコマンドレットについては、「FPE 2010のForefront管理シェルで使用できるコマンドレットについて」を参照)。

■名前

Set-FseRealtimeScan

■概要

リアルタイム スキャンの構成を設定します。

■構文

Set-FseRealtimeScan [-BodyScanning <Boolean>] [-Bypass <Boolean>]
     [-DocFilesAsContainers <Boolean>] [-Enabled <Boolean>]
     [-EnableFileFiltering <Boolean>] [-EnableHeaderFiltering <Boolean>]
     [-EnableSpywareScan <Boolean>] [-EnableVirusScan <Boolean>]
     [-EnableWormPurge <Boolean>] [-EngineUsagePolicy <EngineUsageEnum>]
     [-FileFilteringDeletionText <string>]
     [-FileFilteringSkipScanofCompressedFiles <Boolean>] [-MailboxList <string[]>]
     [-MailboxScope <SelectedEnum>] [-MalwareDeletionText <string>]
     [-MaxContainerScanTime <int>] [-ProcessCount <int>] [-PublicFolderList <string[]>]
     [-PublicFolderScope <SelectedEnum>] [-ScanOnSignatureUpdate <Boolean>]
     [-SpywareAction <SpywareActionEnum>] [-SpywareQuarantine <Boolean>]
     [-SuppressMalwareNotifications <Boolean>] [-Timeout <int>]
     [-TimeoutAction <ScanErrorActionEnum>] [-VirusAction <VirusActionEnum>]
     [-VirusQuarantine <Boolean>] [<CommonParameters>]

■説明

リアルタイム スキャンのカスタマイズを有効にします。設定できるパラメーターには次のようなものがあります。ウイルス スキャンの有効化、プロセスの数、コンテナーのスキャン、タイムアウトの時間およびアクション、エンジンの使用ポリシー、ウイルス検出アクション、検疫、フィルタリングなどです。さらに、リアルタイム スキャンを有効したり、無効にしたりできます。

注意: Set-FserRealtimeScanの -Enabledパラメーターは、定期スキャンの有効化と無効化も制御します。

■パラメーター

-BodyScanning <Boolean>
メッセージの本文をスキャンする必要があることを示します。省略可能です。指定可能な値は$falseおよび$trueです。既定値の$falseは、メッセージの本文がスキャンされないことを意味します。

必須false
位置named
既定値true
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-Bypass <Boolean>
すべての電子メール メッセージのリアルタイム スキャンをバイパスするかどうかを指定します。省略可能です。リアルタイム スキャンをバイパスするようにMicrosoft Forefront Protection 2010 for Exchange Server (FPE) を構成すると、リアルタイム スキャン ジョブによるウイルスのスキャンもフィルタリングも行われなくなります。指定可能な値は$falseおよび$trueです。既定値の$falseは、-Bypassが効力を持たないことを意味します。

注意: この設定は、トラブルシューティングにのみ使用してください。サービスをリサイクルする必要がないため、トラブルシューティングに適しています。ただし、-Bypassを$trueに設定すると、ウイルスから保護されなくなります。

必須false
位置named
既定値false
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-DocFilesAsContainers <Boolean>
リアルタイム スキャンで、構造化ストレージとOLE埋め込みデータ形式 (.doc、.xls、.ppt、.shsなど) をコンテナー ファイルとして使用するファイルをスキャンするかどうかを指定します。省略可能です。指定可能な値は$falseおよび$trueです。既定値の$falseは、構造化ストレージを使用するファイルがコンテナー ファイルとしてスキャンされないことを意味します。

必須false
位置named
既定値false
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-Enabled <Boolean>
リアルタイム スキャンを有効または無効にします。省略可能です。指定可能な値は$falseおよび$trueです。既定値の$trueは、リアルタイム スキャンが有効であることを意味します。-Enabledパラメーターを$falseに設定した場合、リアルタイム スキャンでは、-EnableVirusScan、-EnableHeaderFiltering、および -EnableFileFilteringの設定に関係なく、ウイルス スキャンやフィルター スキャンが実行されません。リアルタイム スキャンを無効化せずにトラブルシューティングする場合については、-Bypassパラメーターを参照してください。

注意: このパラメーターの値を変更した場合、変更を有効にするには、サービスをリサイクルする必要があります。

注意: -Enabledパラメーターは、定期スキャンの有効化と無効化も制御します。

必須false
位置named
既定値true
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-EnableFileFiltering <Boolean>
リアルタイム スキャンによるファイル フィルタリングを有効または無効にします。省略可能です。指定可能な値は$falseおよび$trueです。既定値の$trueは、リアルタイム スキャンによるファイル フィルタリングが有効であることを示します。ただし、-Enabledパラメーターが$falseに設定されている場合、ファイル フィルタリングは実行されません。

必須false
位置named
既定値true
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-EnableHeaderFiltering <Boolean>
ヘッダーのフィルタリングを有効または無効にします。省略可能です。ヘッダーのフィルタリングには、件名フィルターと送信者ドメイン フィルターが含まれます。指定可能な値は$falseおよび$trueです。既定値の$trueは、ヘッダーのフィルタリングが実行されることを示します。

必須false
位置named
既定値true
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-EnableSpywareScan <Boolean>
スパイウェア スキャンを有効または無効にします。省略可能です。指定可能な値は$falseおよび$trueです。既定値の$trueは、リアルタイム スキャンでMicrosoft Antimalware Engineを使用してスパイウェアをスキャンすることを示します。値を$falseに設定すると、スパイウェア スキャンが無効になります。

スパイウェア スキャンを有効にした場合は、Microsoft Antimalware Engineが定義の更新に対して有効になっていることを確認してください。これはSet-FseSignatureUpdateを使用して実行します。

注意: スパイウェア スキャンを無効にしても、フィルタリングは有効のままにできます。

必須false
位置named
既定値true
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-EnableVirusScan <Boolean>
ウイルス スキャンを有効または無効にします。省略可能です。指定可能な値は$falseおよび$trueです。既定値の$trueは、リアルタイム スキャンで特定のウイルス対策エンジンを使用してウイルスをスキャンすることを示します。値を$falseに設定すると、ウイルス スキャンは無効になりますが、フィルタリングは有効のままになります。

必須false
位置named
既定値true
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-EnableWormPurge <Boolean>
リアルタイム スキャンでのワーム駆除を有効または無効にします。省略可能です。指定可能な値は$falseおよび$trueです。既定値の$trueは、ウイルスが検出された場合、FPE によってワーム リストでウイルス名が検索されることを意味します。ワーム リストでウイルス名が見つかった場合、そのアイテムは駆除されます。名前が見つからなかった場合は、通常のウイルス アクションが実行されます。この値が$falseの場合、ワーム リストにウイルスが示されているかどうかにかかわらず、通常のウイルス アクションが実行されます。

必須false
位置named
既定値true
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-EngineUsagePolicy <EngineUsageEnum>
FPEがファイルの内容のスキャンに使用するエンジン数を決める際に参照するインテリジェント エンジン選択ポリシーを指定します。省略可能です。使用するエンジンが多いほど、すべてのウイルスが検出される可能性が高くなります。ただし、使用するエンジンが多いほど、システム パフォーマンスへの影響も大きくなります。エンジンは、Set-FseEngineManagementを使用して指定されます。

指定可能な値は次のとおりです。

  • All – 選択したすべてのエンジンでスキャンします。
  • Available – 選択したすべての利用可能なエンジンでスキャンします。既定値です。
  • Dynamic – 選択したエンジンの、動的に選択されるサブセットでスキャンします。
  • One – 動的に選択される1つのエンジンでスキャンします。

“All”と”Available”の相違点は次のとおりです。更新のためにエンジンをオフラインにすると、”All”の場合、そのエンジンが再開されるまでメール フローがキューに入れられ、”Available”の場合、残りのエンジンを使用してスキャンが続行されます。

注意: -EngineUsagePolicyは、以前は”Bias”と呼ばれていました。

必須false
位置named
既定値Available
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-FileFilteringDeletionText <string>
ファイル フィルターと一致したために削除されたファイルの内容の置き換えに使用されるテキストを指定します。省略可能です。既定の削除テキストでは、ファイルが削除されたことが受信者に通知され、ファイル名および一致したフィルター名が示されます。

FileFilteringDeletionTextパラメーターを使用して、キーワード置換マクロを含む、独自のカスタム テキストを入力できます。マクロは、アポストロフィで囲む必要があります (例: -FileFilteringDeletionText “‘%Filter%’ フィルターと一致したため、’%File%’ が削除されました”)。

削除テキストは最大8,192文字です (引用符で囲む)。

既定値: “Microsoft Forefront Protection for Exchange Serverによって、フィルター条件に一致するファイルが削除されました。ファイル名: ‘%File%’ フィルター名: ‘%Filter%'”

必須false
位置named
既定値see description
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-FileFilteringSkipScanofCompressedFiles <Boolean>
“SkipDetect”アクションが圧縮ファイルの種類のファイル フィルターに適用された場合の、このアクションの動作を指定します。省略可能です。Set-FseRealtimeFilterを使用して、リアルタイム スキャン用のフィルターを構成します。指定可能な値は$false (既定値) および$trueです。

Microsoft Forefront Protection 2010 for Exchange Serverの標準機能では、ファイル フィルターを適用して、圧縮ファイルの内容がスキャンされます。圧縮ファイルの内容にファイル フィルターが適用されないようにするには、ファイル フィルターを作成し、アクションを”SkipDetect”に設定します。ただし、これが既定で機能するのは、.zipファイル、JARファイル、およびOPENXMLファイルのみです。

この機能を自己解凍実行可能ファイル (IMCMIMEファイル、.gzipアーカイブ ファイル、.rarアーカイブ ファイル、TARアーカイブ ファイル、およびMACBINバイナリ ファイル) でも有効にするには、このパラメーターの値を$trueに設定します。その場合、アクションが”SkipDetect”に設定されているファイル フィルターにコンテナーが一致するときは、これらの追加のファイルの種類内ではファイル フィルタリングが実行されません。

コマンドが連携するしくみの詳細な説明については、例を参照してください。

必須false
位置named
既定値false
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-MailboxList <string[]>
-MailboxScopeが”Selected”に設定されている場合にスキャンされるメールボックスを示します。省略可能です。複数のアイテムを配列として入力します。以下は、選択したメールボックスを示すスクリプトの例です。

$MailboxesToScan = Mail1, Mail3, Mail6
Set-FseRealtimeScan -MailboxScope Selected -MailboxList $MailboxesToScan
必須false
位置named
既定値no value
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-MailboxScope <SelectedEnum>
スキャンするメールボックスの範囲を指定します。省略可能です。指定可能な値はAll (既定値)、None、およびSelectedです。”Selected”を選択する場合は、-MailboxListパラメーターを使用してスキャンするメールボックスを示してください。”None”を指定すると、メールボックスはスキャンされません。

必須false
位置named
既定値All
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-MalwareDeletionText <string>
“Delete”アクション中に、感染したファイルの内容を置き換えるために使用されるテキストを指定します。省略可能です。既定の削除テキストでは、ファイルが削除されたことが通知され、ファイル名および見つかった悪意のあるソフトウェアの名前が示されます。

MalwareDeletionTextパラメーターを使用して、キーワード置換マクロを含む、独自のカスタム テキストを入力できます。マクロは、アポストロフィで囲む必要があります (例: -MalwareDeletionText “このファイルはウイルスに感染しています: ‘%File%’ マルウェア名: ‘%Malware%'”)。

削除テキストは最大8,192文字です (引用符で囲む)。

既定値: “Microsoft Forefront Protection for Exchange Server は、悪意のあるソフトウェアが含まれていることを検出したため、このファイルを削除しました。ファイル名: ‘%File%’ マルウェア名: ‘%Malware%'”。

必須false
位置named
既定値see description
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-MaxContainerScanTime <int>
圧縮された添付ファイルのスキャン時にリアルタイム スキャンがタイムアウトになるまでの時間を秒単位で指定します。省略可能です。有効な値の範囲は、60~86400秒です (境界を含む)。既定値は120秒 (2分) です。

必須false
位置named
既定値120
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-ProcessCount <int>
1つのメールボックス サーバーで実行するプロセスの数を示します。省略可能です。指定可能な値の範囲は、1~10の整数です。既定値は4です。

複数のプロセスを使用すると、起動時やファイル スキャンの要求時にサーバーの負荷が高くなります。大容量の環境でない限り、既定の数のプロセスで十分です。プロセスの数が増加すると、追加のサーバー リソースが消費されるので、一度に1プロセスずつ増やし、そのたびにパフォーマンスを評価することをお勧めします。

リアルタイム プロセスの数は、サーバー上の有効なプロセッサの数の2倍に設定することをお勧めします。たとえば、2プロセッサ サーバーまたは単一プロセッサのデュアル コア サーバーでは、ProcessCountの設定は既定値4をそのまま使用します。サーバーに2つのプロセッサがあり、それぞれがデュアル コアの場合、推奨される設定は8です。

注意: この設定の変更を有効にするには、Microsoft Exchange Information Storeサービスを停止してから、再度開始する必要があります。再起動機能を使用しないでください。

必須false
位置named
既定値4
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-PublicFolderList <string[]>
-PublicFolderScopeで”Selected”を選択した場合、ルート レベルのパブリック フォルダーをスキャン対象にすることを示します。省略可能です。複数のアイテムを配列として入力します。サブフォルダーは選択しないでください。以下は、選択したパブリック フォルダーを示すスクリプトの例です。

$FoldersToScan = Folder2,Folder4,Folder5
Set-FseRealtimeScan -PublicFolderScope SELECTED -PublicFolderList $FoldersToScan
必須false
位置named
既定値no value
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-PublicFolderScope <SelectedEnum>
スキャンするパブリック フォルダーの範囲を指定します。省略可能です。指定可能な値はAll (既定値)、None、およびSelectedです。”Selected”を選択する場合は、-PublicFolderListパラメーターを使用して、スキャンするパブリック フォルダーを指定してください。”None”を指定すると、パブリック フォルダーはスキャンされません。

必須false
位置named
既定値All
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-ScanOnSignatureUpdate <Boolean>
リアルタイム スキャンで使用するエンジンのいずれかが更新された場合に、リアルタイム スキャンを開始するかどうかを指定します。省略可能です。スキャンは、ストア内の最初のフォルダーからではなく、最後にスキャンされたフォルダーから続行されます。このオプションがトリガーされたときに、リアルタイム スキャンが既に実行中の場合、リアルタイム スキャンはそのまま続行されます。指定可能な値は$falseおよび$trueです。既定値の$falseは、エンジンが更新されてもファイルが再スキャンされないことを意味します。

注意: 値を$trueに変更すると、システム パフォーマンスに悪影響が及ぶ可能性があります。

必須false
位置named
既定値true
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-SpywareAction <SpywareActionEnum>
スパイウェアが検出されたときに実行するアクションを示します。省略可能です。指定可能な値はSkipDetect、Delete (既定値)、およびPurgeです。

注意: “Delete”は、感染ファイルの内容をマルウェア削除テキストで置き換えます。

必須false
位置named
既定値Delete
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-SpywareQuarantine <Boolean>
スパイウェアの検出時にメッセージまたはファイルの検疫を実行するかどうかを示します。省略可能です。指定可能な値は$falseおよび$trueです。既定値の$trueは、スパイウェアが見つかった場合に、メッセージまたはファイルを検疫することを示します。

注意: メッセージまたはファイルは、-SpywareActionパラメーターの値に関係なく検疫できます。

必須false
位置named
既定値true
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-SuppressMalwareNotifications <Boolean>
このスキャン ジョブによってマルウェアが検出されたときにウイルスまたはスパイウェアの通知を送信するかどうかを示します。省略可能です。指定可能な値は$falseおよび$trueです。既定値の$falseは、ウイルスまたはスパイウェアの通知が有効な場合は、それらが送信されることを示します。Set-FseNotificationで無効にされている場合、このパラメーターは効力を持ちません。

必須false
位置named
既定値$false
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-Timeout <int>
リアルタイム スキャンがタイムアウトになるまでの時間を秒単位で示します。省略可能です。最小値は60秒、最大値は86400秒 (24時間)、既定値は150秒 (2分30秒) です。

注意: この設定の変更を有効にするには、Microsoft Exchange Information Storeサービスを停止してから、再度開始する必要があります。再起動機能を使用しないでください。

必須false
位置named
既定値150
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-TimeoutAction <ScanErrorActionEnum>
ファイルのスキャン中にリアルタイム スキャンがタイムアウトしたときに実行するアクションを示します。省略可能です。指定可能な値は Ignore、SkipDetect、およびDeleteです。

既定値の”Delete”は、インシデントが報告されること、感染したファイルの内容が削除テキストで置き換えられることを示します。”Ignore”は、ファイルがスキャンされずに渡されることを意味します。

必須false
位置named
既定値 
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-VirusAction <VirusActionEnum>
ウイルスが検出されたときに実行するアクションを示します。省略可能です。指定可能な値はSkipDetect、Clean (既定値)、およびDeleteです。

必須false
位置named
既定値Clean
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-VirusQuarantine <Boolean>
ウイルスの検出時にメッセージまたはファイルの検疫を実行するかどうかを示します。省略可能です。指定可能な値は$falseおよび$trueです。既定値の$trueは、メッセージまたはファイルが感染した場合に、検疫することを示します。

注意: メッセージまたはファイルは、指定されている -VirusActionに関係なく検疫できます。

必須false
位置named
既定値true
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: VerboseDebugErrorActionErrorVariableWarningActionWarningVariableOutBuffer、およびOutVariable。詳細については、「get-help about_commonparameters」と入力してヘルプを参照してください。

■入力

■出力

■メモ

■例

例1

 Set-FseRealtimeScan -EngineUsagePolicy All -MailboxScope Selected -MailboxList MB1, MB2, MB5 -PublicFolderScope All -MaxContainerScanTime 300 

例1:出力結果

There is no output if the command completes successfully.

例1:説明

エンジン使用ポリシーを “All” に設定して、選択したエンジンがすべて毎回のスキャンで使用されるように指定します。3つの特定のメールボックス (MB1、MB2、およびMB5) とすべてのパブリック フォルダーがスキャンされます。コンテナー ファイルの最大スキャン時間は、300秒 (5分) に設定されます。エンジンを選択するには、Set-FseEngineManagementコマンドレットを使用します。

例2

 Set-FseRealtimeScan -MalwareDeletionText &quot;The '%Malware%' malicious software was detected in the '%File%' file.&quot; -FileFilteringDeletionText &quot;The '%File%' file was found to match the '%Filter%' filter.&quot; 

例2:出力結果

There is no output if the command completes successfully.

例2:説明

2つの削除テキスト項目の古い値が、新しい値に変更されます。

例3

 Set-FseRealtimeScan -Timeout 300 -TimeoutAction SkipDetect 

例3:出力結果

There is no output if the command completes successfully.

例3:説明

タイムアウト値は300秒 (5分) に変更され、タイムアウトが発生した場合のアクションはSkipDetectに設定されます。

例4

New-FseFilterList -File -List &quot;RahRah&quot; -Item &quot;*.rar&quot;
New-FseFilterList -File -List &quot;Ghi&quot; -Item &quot;ghi.exe&quot;
Set-FseRealtimeFilter -File -List &quot;RahRah&quot; -Action SkipDetect -Enabled $true
Set-FseRealtimeFilter -File -List &quot;Ghi&quot; -Action Delete -Enabled $true
Set-FseRealtimeScan -FileFilteringSkipScanOfCompressedFiles $false -VirusAction &quot;Delete&quot;

例4:出力結果

There is no output if the command completes successfully.

例4:説明

.rarファイルをフィルタリングする場合の例です。”Innocent.rar”という.rarファイルを想定します。これには、次の3つのファイルが含まれます。

  • eicar.com
  • abc.def
  • ghi.exe

“RahRah”という名前のフィルターを設定し、”.rar”という拡張子を持つすべてのファイルを見つけ出します。一致した場合は、フィルターが、”SkipDetect”のアクションでリアルタイム スキャンに割り当てられます。

“Ghi”という名前のフィルターを設定し、”ghi.exe”という名前のすべてのファイルを見つけ出します。一致した場合は、フィルターが、”Delete”のアクションでリアルタイム スキャンに割り当てられます。

-FileFilteringSkipScanOfCompressedFilesパラメーターが$falseに設定されています。これは既定値であるため、明示的に設定する必要はありません。

Innocent.rarのスキャン結果は次のとおりです。

  1. “*.rar”で捕捉されますが、アクションはSkipDetectであるため、単なる通知です。
  2. 内容に対するウイルス スキャンが実施されます。Eicar.comは、設定されているウイルス アクションであるため削除されます。
  3. 内容はファイル フィルターの対象です。そのため、”ghi.exe”は削除されます。

ここでは、-FileFilteringSkipScanOfCompressedFilesパラメーターが$trueに設定されていると仮定します。

結果 3.を除き、すべてがまったく同じです。現在は、次のようになっています。内容は、ファイル フィルターの対象ではありません。そのため、”ghi.exe”は削除されません。

■関連するリンク

  • Get-FseRealtimeScan

[参考]