プロセスによって開かれたファイルの除外を構成する

適用対象:

プラットフォーム

  • Windows

特定のプロセスによって開かれたファイルは、ウイルス対策スキャンMicrosoft Defender除外できます。 これらの種類の除外は、プロセス自体ではなく、プロセスによって開かれたファイルに対して行われます。 プロセスを除外するには、ファイルの除外を追加します (「 ファイル拡張子とフォルダーの場所に基づいて除外を構成して検証する」を参照してください)。

除外リストを定義する前に、「除外に関する重要なポイント」を参照し、「Microsoft Defender for EndpointとMicrosoft Defenderウイルス対策の除外を管理する」の情報を確認してください。

この記事では、除外リストを構成する方法について説明します。

プロセスの除外の例

除外
特定のファイル名を持つ任意のプロセスによって開かれるマシン上の任意のファイル test.exeを指定すると、次の方法で開かれたファイルが除外されます。

c:\sample\test.exe

d:\internal\files\test.exe

特定のフォルダーの下の任意のプロセスによって開かれるコンピューター上の任意のファイル c:\test\sample\*を指定すると、次の方法で開かれたファイルが除外されます。

c:\test\sample\test.exe

c:\test\sample\test2.exe

c:\test\sample\utility.exe

特定のフォルダー内の特定のプロセスによって開かれるコンピューター上のファイル c:\test\process.exeを指定すると、 によって開かれたファイルのみが除外されますc:\test\process.exe

プロセスの除外リストにプロセスを追加すると、Microsoft Defenderウイルス対策は、ファイルの場所に関係なく、そのプロセスによって開かれたファイルをスキャンしません。 ただし、プロセス自体は、 ファイル除外リストにも追加されていない限りスキャンされます。

除外は、 常時オンのリアルタイム保護と監視にのみ適用されます。 スケジュールされたスキャンやオンデマンド スキャンには適用されません。

除外リストへのグループ ポリシーで行われた変更は、Windows セキュリティ アプリのリストに表示されます。 ただし、Windows セキュリティ アプリで行われた変更は、グループ ポリシーの一覧には表示されません

グループ ポリシー、Microsoft Configuration Manager、Microsoft Intune、および Windows セキュリティ アプリでリストの除外を追加、削除、確認できます。また、ワイルドカードを使用してリストをさらにカスタマイズできます。

PowerShell コマンドレットと WMI を使用して、リストの確認など、除外リストを構成することもできます。

既定では、リストに対して行われたローカル変更 (管理者特権を持つユーザー、PowerShell と WMI で行われた変更) は、グループ ポリシー、Configuration Manager、またはIntuneによって定義 (およびデプロイ) されたリストにマージされます。 競合がある場合は、グループ ポリシーリストが優先されます。

ローカルおよびグローバルに定義された除外リストをマージする方法を構成して、ローカルの変更がマネージド デプロイ設定をオーバーライドできるようにします。

注:

ネットワーク保護攻撃面の縮小ルール は、すべてのプラットフォームのプロセス除外によって直接影響を受けます。つまり、すべての OS (Windows、MacOS、Linux) でプロセスの除外を行うと、ネットワーク保護または ASR がトラフィックを検査したり、その特定のプロセスのルールを適用したりできなくなります。

プロセス除外のイメージ名と完全パス

2 種類のプロセス除外を設定できます。 プロセスは、イメージ名または完全なパスによって除外できます。 イメージ名は、パスのないプロセスの単なるファイル名です。

たとえば、このプロセスへの完全なパスをC:\MyFolder\から実行MyProcess.exeプロセスがC:\MyFolder\MyProcess.exeされ、イメージ名がMyProcess.exe

イメージ名の除外ははるかに広範です。 MyProcess.exe の除外では、実行元のパスに関係なく、このイメージ名を持つすべてのプロセスが除外されます。 たとえば、プロセス MyProcess.exe がイメージ名によって除外されている場合、 C:\MyOtherFolderから実行された場合、リムーバブル メディアから実行された場合も除外されます。 そのため、可能な限り完全なパスを使用することをお勧めします。

プロセス除外リストでワイルドカードを使用する

プロセス除外リストでのワイルドカードの使用は、他の除外リストでのワイルドカードの使用とは異なります。 プロセスの除外がイメージ名としてのみ定義されている場合、ワイルドカードの使用は許可されません。 ただし、完全パスを使用すると、ワイルドカードがサポートされ、ワイルドカードの動作は「ファイルとフォルダーの除外」の説明に従って動作します

プロセス除外リストで項目を定義する際のワイルドカードとしての環境変数 ( %ALLUSERSPROFILE% など) の使用もサポートされています。 サポートされている環境変数の詳細と完全な一覧については、「 ファイルとフォルダーの除外」を参照してください

次の表では、パスが指定されている場合に、プロセス除外リストでワイルドカードを使用する方法について説明します。

ワイルドカード 使用例 一致の例
* (アスタリスク)

任意の数の文字を置き換えます。

C:\MyFolder\* C:\MyFolder\MyProcess.exe または によって開かれたすべてのファイルC:\MyFolder\AnotherProcess.exe
C:\*\*\MyProcess.exe C:\MyFolder1\MyFolder2\MyProcess.exe または によって開かれたすべてのファイルC:\MyFolder3\MyFolder4\MyProcess.exe
C:\*\MyFolder\My*.exe C:\MyOtherFolder\MyFolder\MyProcess.exe または によって開かれたすべてのファイルC:\AnotherFolder\MyFolder\MyOtherProcess.exe
'?'(疑問符)

1 文字を置き換えます。

C:\MyFolder\MyProcess??.exe C:\MyFolder\MyProcess42.exeまたはC:\MyFolder\MyProcessAA.exeまたはによって開かれたファイルC:\MyFolder\MyProcessF5.exe
環境変数 %ALLUSERSPROFILE%\MyFolder\MyProcess.exe によって開かれたすべてのファイル C:\ProgramData\MyFolder\MyProcess.exe

コンテキスト プロセスの除外

プロセスの除外は、 コンテキストの除外 を使用して定義することもできます。たとえば、特定のファイルを特定のプロセスによって開いた場合にのみ除外できます。

指定したプロセスによって開かれたファイルの除外の一覧を構成する

Microsoft Intuneを使用して、指定されたプロセスによって開かれたファイルをスキャンから除外する

詳細については、「Microsoft Intuneでデバイス制限設定を構成する」および「IntuneのWindows 10のウイルス対策デバイス制限設定をMicrosoft Defenderする」を参照してください。

Microsoft Configuration Managerを使用して、指定されたプロセスによって開かれたファイルをスキャンから除外する

Microsoft Configuration Manager (現在のブランチ) の構成の詳細については、「マルウェア対策ポリシーを作成して展開する方法: 除外設定」を参照してください。

グループ ポリシーを使用して、指定されたプロセスによって開かれたファイルをスキャンから除外する

  1. グループ ポリシー管理コンピューターで、グループ ポリシー管理コンソールを開き、構成するグループ ポリシー オブジェクトを右クリックし、[編集] をクリックします。

  2. [グループ ポリシー管理] エディターで、[コンピューターの構成] に移動し、[管理用テンプレート] をクリックします。

  3. ウイルス対策>除外> Microsoft Defender Windows コンポーネントにツリーを展開します。

  4. [プロセスの除外] をダブルクリックし、除外を追加します。

    1. オプションを [有効] に設定します。
    2. [ オプション ] セクションで、[ 表示]をクリックします。
    3. [ 値名 ] 列の下に、各プロセスを独自の行に入力します。 さまざまな種類のプロセス除外については、例の表を参照してください。 すべてのプロセスの [値] 列に「0」と入力します。
  5. [OK] をクリックします。

PowerShell コマンドレットを使用して、指定されたプロセスによって開かれたファイルをスキャンから除外する

PowerShell を使用して、プロセスによって開かれたファイルの除外を追加または削除するには、 -ExclusionProcess パラメーターに 3 つのコマンドレットを組み合わせて使用する必要があります。 コマンドレットはすべて Defender モジュールにあります。

コマンドレットの形式は次のとおりです。

<cmdlet> -ExclusionProcess "<item>"

<cmdlet>として使用できます。

構成アクション PowerShell コマンドレット
リストを作成または上書きする Set-MpPreference
リストに追加する Add-MpPreference
リストから項目を削除する Remove-MpPreference

重要

Set-MpPreferenceまたはAdd-MpPreferenceでリストを作成した場合は、Set-MpPreference コマンドレットをもう一度使用すると、既存のリストが上書きされます。

たとえば、次のコード スニペットを使用すると、Microsoft Defenderウイルス対策スキャンによって、指定されたプロセスによって開かれたファイルが除外されます。

Add-MpPreference -ExclusionProcess "c:\internal\test.exe"

Microsoft Defender ウイルス対策で PowerShell を使用する方法の詳細については、「PowerShell コマンドレットを使用してウイルス対策を管理する」および「ウイルス対策コマンドレットをMicrosoft Defenderする」を参照してください。

Windows 管理命令 (WMI) を使用して、指定されたプロセスによって開かれたファイルをスキャンから除外する

次のプロパティにはMSFT_MpPreference クラスの Set メソッド、Add メソッド、Remove メソッドを使用します。

ExclusionProcess

SetAddRemove の使用は、PowerShell の対応するユーザーに似ています(Set-MpPreferenceAdd-MpPreferenceRemove-MpPreference)。

詳細と許可されるパラメーターについては、「 Windows Defender WMIv2 API」を参照してください。

Windows セキュリティ アプリを使用して、指定されたプロセスによって開かれたファイルをスキャンから除外する

「Windows セキュリティ アプリで除外を追加する」の手順に従います。

除外の一覧を確認する

除外リスト内の項目は、MpCmdRun、PowerShell、Microsoft Configuration Manager、Intune、またはWindows セキュリティ アプリ取得できます。

PowerShell を使用する場合は、次の 2 つの方法でリストを取得できます。

  • すべてのMicrosoft Defenderウイルス対策設定の状態を取得します。 各リストは別々の行に表示されますが、各リスト内の項目は同じ行に結合されます。
  • すべての基本設定の状態を変数に書き込み、その変数を使用して目的の特定のリストのみを呼び出します。 Add-MpPreferenceを使用するたびに、新しい行に書き込まれます。

MpCmdRun を使用して除外リストを検証する

専用コマンド ライン ツール mpcmdrun.exeを使用して除外をチェックするには、次のコマンドを使用します。

MpCmdRun.exe -CheckExclusion -path <path>

注:

MpCmdRun で除外を確認するには、ウイルス対策 CAMP バージョン 4.18.1812.3 (2018 年 12 月にリリース) 以降をMicrosoft Defenderする必要があります。

PowerShell を使用して、他のすべてのMicrosoft Defenderウイルス対策設定と共に除外の一覧を確認する

次のコマンドレットを使用します。

Get-MpPreference

Microsoft Defender ウイルス対策で PowerShell を使用する方法の詳細については、「PowerShell コマンドレットを使用して、ウイルス対策コマンドレットと Microsoft Defender ウイルス対策コマンドレットMicrosoft Defender構成して実行する」を参照してください。

PowerShell を使用して特定の除外リストを取得する

次のコード スニペットを使用します (各行を個別のコマンドとして入力します)。 WDAVprefs を、 変数に名前を付けるラベルに置き換えます。

$WDAVprefs = Get-MpPreference
$WDAVprefs.ExclusionProcess

Microsoft Defender ウイルス対策で PowerShell を使用する方法の詳細については、「PowerShell コマンドレットを使用して、ウイルス対策コマンドレットと Microsoft Defender ウイルス対策コマンドレットMicrosoft Defender構成して実行する」を参照してください。

ヒント

さらに多くの情報を得るには、 Tech Community 内の Microsoft Security コミュニティ (Microsoft Defender for Endpoint Tech Community) にご参加ください。