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

スポンサーリンク

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

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

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

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

■名前

Set-FsspScheduledScan

■概要

定期スキャンの構成を設定します。

■構文

Set-FsspScheduledScan [-DocFilesAsContainers <Boolean>]
     [-EnableFileFiltering <Boolean>] [-EnableKeywordFiltering <Boolean>]
     [-EnableRepeat <Boolean>] [-EnableSchedule <Boolean>]
     [-EnableVirusScan <Boolean>] [-EngineUsagePolicy <EngineUsageEnum>]
     [-FileFilteringSkipScanofCompressedFiles <Boolean>]
     [-FilteringDeletionText <string>] [-Frequency <ScheduledFrequencyEnum>]
     [-MalwareDeletionText <string>] [-MaxContainerScanTime <int>]
     [-Priority <PriorityEnum>] [-RepeatInterval <TimeSpan>]
     [-ScheduleStart <DateTime>] [-SiteList <GenericStringList>]
     [-SiteScope <SelectedEnum>] [-SuppressMalwareNotifications <Boolean>]
     [-VirusAction <VirusActionEnum>] [-VirusQuarantine <Boolean>]
     [<CommonParameters>]

■説明

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

スキャン ジョブをスケジュールするには、以下の手順に従います。

  1. -ScheduleStartパラメータを使用して、ジョブの初回実行の日付と時刻を指定します。
  2. -Frequencyパラメータを使用して、ジョブの実行頻度 (Once、Daily、またはWeekly) を指定します。
  3. -RepeatIntervalパラメータを使用して、ジョブの繰り返し実行の頻度を指定します (FrequencyにDailyを指定して、スキャンを1日に複数回、繰り返し実行するようにスケジュールする場合にのみ、このパラメータを使用します)。
  4. 必要に応じて、他のパラメータを設定します。
  5. -EnableScheduleパラメータを$trueに設定して、スケジュールを有効にします。

■パラメーター

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

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

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

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

-EnableKeywordFiltering <Boolean>
キーワード フィルタリングを有効または無効にします。省略可能です。指定可能な値は$falseおよび$trueです。既定値の$trueは、キーワードのフィルタリングが実行されることを示します。

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

-EnableRepeat <Boolean>
定期スキャンの繰り返し間隔を有効または無効にします。省略可能です。指定可能な値は$falseおよび$trueです。既定値の$falseは、スケジュールに繰り返し間隔が含まれないことを示します。繰り返し間隔 (-RepeatIntervalパラメータで設定) を有効にするには、値を$trueに設定します。

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

-EnableSchedule <Boolean>
定期スキャンのスケジュールを有効または無効にします。省略可能です。 指定可能な値は$falseおよび$trueです。既定値の$falseは、定期スキャンのスケジュールを無効にすることを意味します。スケジュールを作成してから、このパラメータの値を$trueに変更して、スケジュールを有効にします。

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

重要: このパラメータは、定期スキャンに構成されているスケジュールを有効または無効にします。定期スキャン自体を有効または無効にするには、Set-FsspRealtimeScanコマンドレットのEnableパラメータを使用します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

既定値: “Microsoft Forefront Protection for SharePointは、フィルタの一致を検出したため、ファイルを削除しました。ファイル名:  ‘%File%’ フィルタ名:  ‘%Filter%'”

必須false
位置named
既定値“Microsoft Forefront Security for SharePoint removed a file since it was found to match a filter. File name: ‘%File%’ Filter name: ‘%Filter%'”
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-Frequency <ScheduledFrequencyEnum>
定期スキャンの実行頻度を示します。省略可能です。有効な値は、Once、Daily、およびWeeklyです。

  • Once – -ScheduleStartで指定した日時に1回だけ、スケジュールが実行されます。これが既定値です。
  • Weekly – -ScheduleStartで指定した日時にスケジュールが実行され、その後も毎週、同じ日時に実行されます。
  • Daily – -ScheduleStartで指定した日時以降に、スケジュールが1日に1回実行されます。 -Frequencyの値がDailyであり、-EnableRepeatが$true に設定され、-RepeatIntervalに値が指定されている場合、スケジュールは1日に複数回実行されます。

-ScheduleStartパラメータを使用して、日付と時刻を設定します。

-EnableRepeatパラメータを使用して、繰り返し間隔を設定します。

-EnableScheduleパラメータを使用して、スケジュールを有効にします。

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

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

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

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

既定値: “Microsoft Forefront Protection for SharePointは、ファイルの感染を検出したため、ファイルを削除しました。 ファイル名:  ‘%File%’ マルウェア名:  ‘%Malware%'”。

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

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

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

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

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

-RepeatInterval <TimeSpan>
-ScheduleStartで指定した時刻から24時間以内にスケジュールを繰り返す頻度 (時間および分単位)。省略可能です。値の有効範囲は00:15~23:59であり、既定値は$nullです。

このパラメータは、-Frequencyの値がDaily、-EnableRepeatの値が$trueの場合のみ使用されます。 その場合、スケジュールは -ScheduleStartで指定した日時に実行され、以後24時間のうちに、指定した間隔が経過するたびに再実行されます。24時間後、間隔は自動的にリセットされます (次の例を参照)。スケジュールは、毎日同じ時刻に同じ方法で実行されます。

注意: -Frequencyを”Daily”以外に設定した場合、-RepeatIntervalの値はすべて無視されます。

たとえば、スケジュールが有効で、-Frequencyの値がDailyに設定され、-RepeatIntervalが05:00 (つまり、5時間)、-EnableRepeatが$true、-ScheduleStartが月曜日の13:00に設定されている場合、定期スキャンは、毎日午後1時から5時間おきに実行されます。24時間後、スケジュールはリセットされて、13:00から再実行されます。

したがって、ジョブは次の時刻に実行されます。

  • 月曜日の13:00
  • 月曜日の18:00
  • 月曜日の23:00
  • 火曜日の4:00
  • 火曜日の9:00

この時点で、5時間が追加されると、ジョブは火曜日の14:00に実行されます。開始時刻である月曜日の13:00から24時間以上経過していることになるので、ジョブは自動的にリセットされ、次は火曜日の 13:00 に実行されます (つまり、スケジュール全体が再開されます)。

注意: スケジュールを有効にするには -EnableScheduleパラメータを使用し、繰り返しの頻度を有効にするには -EnableRepeatパラメータを使用します。

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

-ScheduleStart <DateTime>
定期スキャンのスケジュール済みの開始時刻を指定します。省略可能です。このパラメータを使用してスケジュールを設定してから、-EnableScheduleパラメータを使用してスケジュールを有効にします。DateTime の、解析可能な幅広い書式から選択できます。既定値は 01/01/2003 1:00 AMです。

次に書式の例をいくつか示します。

  1. ISO書式: YYYY-MM-DDThh:mm:ss。たとえば、2007-11-09T18:00:00。日付と時刻を区切っている”T”に注意してください。
  2. UTCタイム ゾーンを示すISO書式。この時刻では、文字列の末尾に”Z”が必要です。たとえば、2007-11-09T18:00:00Z
  3. ローカルで一般的な書式。たとえば、”11/20/07 12:01 AM”
  4. 時刻のみ。たとえば、”12:01 AM”、”15:00″、”3:00 PM”、”10:00Z”。時刻のみを入力した場合、Windows PowerShellでは、現在の日付が自動的に使用されます。
必須false
位置named
既定値
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-SiteList <GenericStringList>
-SiteScopeが”Selected”に設定されている場合にスキャンされるサイトを示します。省略可能です。複数のアイテムを配列として入力します。以下は、選択したサイトを示すスクリプトの例です。

$SitesToScan = site1,site3,site6
Set-FsspScheduledScan -SiteScope Selected -SiteList $SitesToScan

注意: ホスト名を使用する必要があります。IPアドレスの使用はサポートされていません。

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

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

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

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

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

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

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

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

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

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

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

■入力

■出力

■メモ

■例

例1

 Set-FsspScheduledScan -ScheduleStart &quot;03:00 AM&quot; -Frequency &quot;Daily&quot; -EnableRepeat $true -RepeatInterval 07:00 -SiteScope Selected -SiteList site1, site2, site5 -MaxContainerScanTime 300 -EngineUsagePolicy All -EnableSchedule $true 

例1:説明

毎日7時間間隔で実行する定期スキャンを、今日の03:00から開始するようスケジュールします。3つの特定のサイト (site1、site2、およびsite5) がスキャンされます。コンテナ ファイルの最大スキャン時間は、300秒 (5分) です。エンジン使用ポリシーを”All”に設定すると、選択したすべてのエンジンが毎回のスキャンで使用されます。エンジンを選択するには、Set-FsspEngineManagementコマンドレットを使用します。

ジョブは次の時刻に実行されます。

  • 03:00
  • 10:00
  • 17:00
  • 00:00
  • 03:00
  • 以降同様

コマンドが正常に完了した場合は、何も出力されません。

例2

 Set-FsspScheduledScan -ScheduleStart 2008-03-01T03:30:00 -Frequency Once -EnableSchedule $true 

例2:説明

スキャン ジョブを2008年3月1日の03:30に実行します。

コマンドが正常に完了した場合は、何も出力されません。

例3

 Set-FsspScheduledScan -MalwareDeletionText &quot; The '%Malware%' malicious software was found in the file named '%File%'.&quot; -FilteringDeletionText &quot;The '%File%' file was found to match the '%Filter%' filter.&quot; 

例3:説明

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

コマンドが正常に完了した場合は、何も出力されません。

例4

New-FsspFilterList -File -List &quot;RahRah&quot; -Item &quot;*.rar&quot;
New-FsspFilterList -File -List &quot;Ghi&quot; -Item &quot;ghi.exe&quot;
Set-FsspScheduledFilter -File -List &quot;RahRah&quot; -Action &quot;SkipDetect&quot; -Enabled $true
Set-FsspScheduledFilter -File -List &quot;Ghi&quot; -Action &quot;Delete&quot; -Enabled $true
Set-FsspScheduledScan -FileFilteringSkipScanOfCompressedFiles $false -VirusAction &quot;Delete&quot;-EnableSchedule $true

例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-FsspScheduledScan
  • Start-FsspScheduledScan
  • Stop-FsspScheduledScan
  • Suspend-FsspScheduledScan
  • Resume-FsspScheduledScan

[参考]