本ヘルプセンターは英語版を翻訳したものです。また、一部には翻訳ソフトウエアにより機械的に翻訳した内容が含まれます。翻訳については順次対応しておりますが、最新の情報になっていない場合があります。最新の情報は英語版のページでご確認ください。表示言語は、画面右上の言語名をクリックして切り替えられます。

本ヘルプセンターの一部の記事には外部リンクが含まれています。万一リンク切れなどお気づきの点がございましたら、お手数ですが弊社サポート窓口までご連絡ください。

WQLSet

変更監視モジュールは、Deep Security Agent上のディレクトリレジストリ値レジストリキーサービスプロセスインストール済みのソフトウェアポートグループユーザファイル、およびWQLクエリ文に対する想定外の変更を検索します。変更監視を有効にして設定するには、変更監視の設定を参照してください。

WQLSetエレメントは、Windows Management Instrumentation WQLクエリ文の結果セットについて記述します。WQLは、さまざまなオブジェクトクラスに対してSQLに似たクエリを実行し、その結果について、各行にオブジェクト、各列にオブジェクトの特定属性値を格納した表の形式で返します。

WMIクエリの多くは、時間とコンピュータリソースを大量に消費します。完了まで数分かかり何千行もの結果を返すクエリを、不注意で実行してしまうことがあります。WQLSetで使用する前に、すべてのクエリをPowerShellやWMI Explorerなどのプログラムを使用してテストすることを強く推奨します。
属性 説明 必須 初期設定値 設定できる値
namespace WMIクエリの名前空間を設定します。 はい なし 有効なWMI名前空間を表す文字列値。

WindowsOSのオブジェクトをテストする場合に最もよく使用される名前空間は「root\cimv2」ですが、「root\directory\LDAP」や「root\Microsoft\SqlServer\ComputerManagement」など、その他の名前空間も使用できます。指定したコンピュータで使用可能なWMI名前空間を列挙する「GetNamespaces.vbs」という短いスクリプトについては、ここを参照してください。
wql WQLクエリ文字列。 はい なし 有効なWQL文字列。

クエリは、返されるオブジェクトにそれぞれ__Path属性を含めます。Agentは、レポート結果を保存するときに__Path属性をエンティティキーとして使用します。そのため、返される各WMIオブジェクトには__Pathを含める必要があります。「SELECT * FROM ...」のようなクエリ文字列を使用する場合は__Path属性を使用できますが、「SELECT Name FROM ...」のように選択的なクエリを使用する場合は、クエリを「SELECT __Path,Name FROM ...」のように記述し、__Path属性を明確に含める必要があります。
onChange 対象のファイルをリアルタイムで監視する必要があるかどうかを示します。 いいえ false true、false
provider オプションで、使用する別のWMI名前空間プロバイダを指定します。 いいえ なし RsopLoggingModeProvider

現在、これはグループポリシークエリでのみ必要およびサポートされています。サポートされている値は「RsopLoggingModeProvider」のみです。コンピュータ上にあるポリシーデータのスナップショットを作成するときにRsopLoggingModeProviderを使用することが推奨されているため、グループポリシークエリは特別なクエリです。ポリシーデータのスナップショットを作成する場合、ポリシーの更新中にシステムがポリシーを上書きまたは削除する前に、一貫したデータのセットに対してクエリが実行されます。スナップショットの作成は、実際には新しいVMI名前空間を作成することです。そのため、WQLSetでproviderに「RsopLoggingModeProvider」を使用する場合、名前空間の属性には、作成した名前空間に付加する接尾辞を指定します。たとえば、RsopLoggingModeProviderによって作成される一般的な仮の名前空間は「\\.\Root\Rsop\NS71EF4AA3_FB96_465F_AC1C_DFCF9A3E9010」です。名前空間に「Computer」を指定してクエリを行うと、「\\.\Root\Rsop\NS71EF4AA3_FB96_465F_AC1C_DFCF9A3E9010\Computer」になります。

仮の名前空間は一時的な値であり、この値がエンティティキーに表示されるため、Agentの変更検出機能の妨げになります。これを回避するため、RsopLoggingModeProviderが使用された場合、返される__Path値の\Rsop\から次のバックスラッシュまでの部分をAgentが削除します。その結果、エンティティキーは「\\.\Root\Rsop\NS71EF4AA3_FB96_465F_AC1C_DFCF9A3E9010\Computer」ではなく、「\\.\Root\Rsop\Computer」のような接頭辞がつきます。
timeout 行ごとのタイムアウトをミリ秒単位で指定します。 いいえ 5000 1-60000

WMIクエリがsemisynchronousモードで実行されます。このモードでは、結果の行が一度に1つずつ取得され、1つの行を取得するのにタイムアウトがあります。このパラメータが指定されていない場合、タイムアウト値には5000 (5秒) が使用されます。

エンティティセットの属性

WQLクエリによって返される各「行」は、変更監視用にそれぞれ単一のエンティティとして扱われます。返される列は、エンティティの属性を表します。WMI/WQLは変更可能な仕様であるため、有効な属性やサポートされている属性のセットリストはありません。クエリと、クエリの対象であるWMIオブジェクトのスキーマは、監視対象の属性を決定します。

たとえば、次のWQLSetの場合、

<WQLSet namespace="Computer" wql="select * from RSOP_SecuritySettings where precedence=1" provider="RsopLoggingModeProvider" />

次の属性を返します。

ErrorCode、GPOID、KeyName、SOMID、Setting、Status、id、precedence

一方、次のようなネットワークアダプタにクエリ実行するWQLSetは、

<WQLSet namespace="root\cimv2" wql="select * from Win32_NetworkAdapter where AdapterTypeId = 0" />

次の属性を返します。

AdapterType、AdapterTypeId、Availability、Caption、ConfigManagerErrorCode、ConfigManagerUserConfig、CreationClassName Description、DeviceID、Index、Installed、MACAddress、Manufacturer、MaxNumberControlled、Name、PNPDeviceID、PowerManagementSupported、ProductName、ServiceName、SystemCreationClassName、SystemName、TimeOfLastReset

Agentの負荷を減らすため、クエリに「select * ...」を使用する代わりに、監視の必要がある属性のみを明確に含めることをお勧めします。WMIスキーマに属性を追加または削除する変更は、その属性が監視対象のセットの一部でないかぎり、オブジェクトに対する変更であるとレポートされない利点もあります。「select * from Win32_Foobar」を使用すると、Win32_Foobarオブジェクトのクラスに新しい属性を追加するWindowsのパッチが適用された場合、次回の変更の検索で、新しい属性が出現したことによるクラスの各オブジェクトに対する変更がレポートされます。

次に、望ましいWindowsシステムのエンティティを返すWMIクエリの例をいくつか示します。

Windowsにマウントされたストレージデバイスに対するクエリ(*を選択すると、通常、返される属性の80%はnullまたは重複する値になります):

<WQLSet namespace="root\cimv2" wql="SELECT __Path,DeviceID,VolumeName,VolumeSerialNumber,DriveType,FileSystem,Access,MediaType,Size,FreeSpace FROM Win32_LogicalDisk" />

前のクエリに追加して、DriveTypeを指定 (「Removable Disk」であるtype2など) することで、特定タイプのマウント済み論理ストレージデバイスを分離できます(リムーバブルUSBストレージドライブなど)。

<WQLSet namespace="root\cimv2" wql="SELECT __Path,DeviceID,VolumeName,VolumeSerialNumber,DriveType,FileSystem,Access,MediaType,Size,FreeSpace FROM Win32_LogicalDisk WHERE DriveType=2" />

(Win32_LogicalDiskクラスの詳細についてはここを参照してください)

USBストレージデバイスの注意事項: U3 USBデバイスは、type 2の「Removable Disk」デバイスとtype 3の「Compact Disc」デバイスの両方にマウントされます。また、前出のクエリはストレージデバイス専用です。記憶装置ではないUSBデバイスは含まれません。type 1の「No Root Directory」デバイスとしてUSBメモリカードアダプタが表示されることがあります。type 1の「Unknown」デバイスとして、不良またはWindowsと互換性のないUSBストレージデバイスが表示されることがあります。

ドライブが「F:」である既知のシステムディレクトリすべてに対して、関連する属性のクエリを実行します。

<WQLSet namespace="root\cimv2" wql="SELECT __Path,CreationDate,LastAccessed,LastModified,Drive,Path,FileName,Caption,FileType,Readable,Writeable FROM Win32_Directory WHERE Drive='F:'" />

ドライブが「F:」である既知のシステムファイルすべてに対して、関連する属性のクエリを実行します。

<WQLSet namespace="root\cimv2" wql="SELECT __Path,CreationDate,LastAccessed,LastModified,Drive,Path,FileName,Name,FileType,Readable,Writeable FROM CIM_DataFile WHERE Drive='F:'" />

「key」の意味

keyは、返されるWMIオブジェクトの「__Path」属性で、通常は次の形式です。

SystemName\Namespace:WmiObjectClass.KeyAttribute=Value[,KeyAttribute=Value]

例を挙げます。

\\TEST-DESK\root\cimv2:Win32_QuickFixEngineering.HotFixID="KB958215-IE7",ServicePackInEffect="SP0"
\\TEST-DESK\ROOT\Rsop\NSF49B36AD_10A3_4F20_9541_B4C471907CE7\Computer:RSOP_RegistryValue.
Path="MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\\LegalNoticeText",precedence=1
\\TEST-DESK\root\cimv2:BRCM_NetworkAdapter.DeviceID="8"

include/exclude

これらのエレメントに指定できる属性とサブエレメントの「include」と「exclude」の概要は、変更監視 rules languagesを参照してください。

WQLSetでは通常、「include」サブエレメントと「exclude」サブエレメントは不要です。WQLはAgentおよびコンピュータのWMI実装の両方によって実行される処理の量を制限するため、監視するオブジェクトの正確なセットを指定するためにWQLを使用することが望ましいです。

任意のincludeまたはexcludeサブエレメントを使用すると、クエリによって返されるオブジェクトのセットを減らすことのみ可能です。追加のオブジェクトを返すようにするためには、WQLを変更する必要があります。includeまたはexcludeエレメントを使用してWQLの結果をさらに制限する必要がある場合には、エンティティキーの値に対して一致させる単純なワイルドカードとして「*」および「?」の文字を使用できます。