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

スポンサーリンク

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

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

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

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

■名前

Set-FseOnDemandScan

■概要

オンデマンド スキャンの構成オプションを設定します。

■構文

Set-FseOnDemandScan [-BodyScanning <Boolean>] [-CAS <string>]
     [-DocFilesAsContainers <Boolean>] [-EnableFileFiltering <Boolean>]
     [-EnableHeaderFiltering <Boolean>] [-EnableVirusScan <Boolean>]
     [-EngineUsagePolicy <EngineUsageEnum>] [-FileFilteringDeletionText <string>]
     [-FileFilteringSkipScanOfCompressedFiles <Boolean>] [-MailboxList <string[]>]
     [-MailboxScope <SelectedEnum>] [-MalwareDeletionText <string>]
     [-MaxContainerScanTime <int>] [-Priority <PiorityEnum>]
     [-SuppressMalwareNotifications <Boolean>] [-VirusAction <VirusActionEnum>]
     [-VirusQuarantine <Boolean>] [<CommonParameters>]

■説明

オンデマンド スキャンのカスタマイズを有効にします。設定できるパラメーターには次のようなものがあります。ウイルス スキャンの有効化、ヘッダーのフィルタリングの有効化、スキャン ジョブに使用するエンジン、エンジンの使用ポリシー、ウイルス検出アクション、検疫など。さらに、スキャンする対象のメールボックスを選択できます。

■パラメーター

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

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

-CAS <string>
オンデマンド スキャンでExchange環境に接続する際に使用するExchangeクライアント アクセス サーバー (CAS) の名前です。省略可能です。このパラメーターの値には、CASの完全修飾ドメイン名か、CASの名前またはIPアドレスを指定できます。既定のCASサーバーは、インストール後に初めて実行するときに検出されます。既定を変更する場合は、ネットワーク負荷分散CASを指定することをお勧めします。

Microsoft Exchange Server 2010では、CASがオンデマンド スキャン用に構成されている必要があります。以前のバージョンのExchangeでは、CASは必要ありません。入力した場合でも、Set-FseOnDemandScanでは無視されます。

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

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

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

-EnableFileFiltering <Boolean>

オンデマンド スキャンによるファイル フィルタリングを有効または無効にします。省略可能です。指定可能な値は$falseおよび$trueです。既定値の$trueは、定期スキャンによるファイル フィルタリングが有効になっていることを示します。

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

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

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

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

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

-EngineUsagePolicy <EngineUsageEnum>
Forefront Protection 2010 for Exchange Serverがファイルの内容のスキャンに使用するエンジン数を決める際に参照するインテリジェント エンジン選択ポリシーを指定します。省略可能です。使用するエンジンが多いほど、すべてのウイルスが検出される可能性が高くなります。ただし、使用するエンジンが多いほど、システム パフォーマンスへの影響も大きくなります。エンジンは、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
既定値Default deletion text
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

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

標準機能では、ファイル フィルターを適用して圧縮ファイルの内容がスキャンされます。圧縮ファイルの内容にファイル フィルターが適用されないようにするには、ファイル フィルターを作成し、アクションを”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-FseOnDemandScan -MailboxScope Selected -MailboxList $MailboxesToScan 

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

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

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

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

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

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

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

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

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

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

-Priority <PiorityEnum>
オンデマンド スキャンのCPU優先度を示します。省略可能です。指定可能な値はNormal (既定値)、BelowNormal、およびLowです。設定をBelowNormalまたはLowに変更することで、サーバー リソースへの需要が高いときに重要なジョブの優先度を定期スキャンより高くすることができます。

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

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

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

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

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

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

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

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

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

■入力

■出力

■メモ

■例

例1

 Set-FseOnDemandScan -EngineUsagePolicy All 

例1:出力結果

There is no output if the command completes successfully.

例1:説明

エンジン使用ポリシーを”All”に変更して、選択したすべてのエンジンが毎回のスキャンで使用されるように指定します。エンジンを選択するには、Set-FseEngineManagementコマンドレットを使用します。

例2

 Set-FseOnDemandScan -MalwareDeletionText &quot; The '%Malware%' malicious software was found in the file named '%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:説明

両方の削除テキスト項目の古い値は、指定した値に変更されます。

例3

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

例3:出力結果

There is no output if the command completes successfully.

例3:説明

.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-FseOnDemandScan
  • Start-FseOnDemandScan
  • Stop-FseOnDemandScan
  • Suspend-FseOnDemandScan
  • Resume-FseOnDemandScan

[参考]