What are patterns?
Pattern structure
A pattern contains the following nodes:
ノード | (必須) | 説明 |
---|---|---|
<Version> | はい | パターンのバージョン文字列。 |
<PatternID> | はい | パターンごとの一意の文字列。 |
<AlternativePattern> | はい | そのパターンの代わりに使用されるパターン (例: PowerShell で使われる)。 |
<ProcessType> | はい | Discovery-Tool が情報を収集するために続行する実行のタイプを記述します。 All possible process types are listed down below on this page. |
<PatternType> | はい | パターンに該当する Discovery-Object のタイプを記述します。 All possible pattern types are listed down below on this page. |
<OrderNr> | はい | You can have multiple patterns for one Discovery-Object, and here you specify their order. The order number is used to set in which order the Pattern is executed. (For example you can see in the pattern folder 3 Pattern for Linux Network Interface) |
<Command> | いいえ | リモート システムで実行されるコマンドが含まれます。 コマンドはプロセス タイプによって決まります。 |
<Processing> | はい | Discovery-Objects に渡す結果データを処理する C# SourceCode が含まれます。 |
<IgnoreCommandCache> | いいえ | By default, a command result will be stored in the cache and the result of the same command will be read from the cache. If set to true, the CommandProvider will ignore the cache. The cache is just persistent for a scan session. |
<RegValue> | いいえ | WMIRegValue で使用されるコマンドと組み合わせて読み取られるレジストリ変数。 |
<ApplicationName> | いいえ | 拡張情報を収集するために使用されるアプリの名前。 |
<ContextName> | いいえ | オプションの SNMP Walk コンテキスト名。 |
<WMINamespace> | いいえ | 初期コマンドの代替 WMI 名前空間を定義します。 |
Pattern process types
There are several different types of processes that might be executed when a pattern is run.タイプ | コマンド例 | コマンド結果のタイプ | 説明 |
---|---|---|---|
SSHExecute | ifconfig -a | 文字列 | 接続されているリモート UNIX システムで SSH コマンドを実行する |
WMIQuery | SELECT * FROM Win32_OperatingSystem | ManagementObjectCollection | 接続されているリモート Windows システムで WMI クエリを実行する |
WMIExecute | netstat -an | 文字列 | 接続されているリモート Windows システムでコマンドを実行する |
WMIRegValue | <![CDATA[ | 結果オブジェクトは任意のタイプのレジストリ値 | WMIRegValue によって、コマンドはレジストリ パスを含み、<RegValue> Node of the Pattern に記述されている値を読み取る。 「Root」は既定で「HKEY_LOCAL_MACHINE\」に設定されるため、コマンドには含めないこと。 結果はレジストリ変数のすべてのバリエーションを含むオブジェクトである。 |
WMIRegValueList | <![CDATA[ | List<string> | WMIRegValueList によって、コマンドはレジストリ パスを含み、レジストリ パスの「subKeys」を返す。 「Root」は既定で「HKEY_LOCAL_MACHINE\」に設定されるため、コマンドには含めないこと。 |
PowerShellExecute | Get-WmiObject win32_computersystem | 文字列 | 接続されているリモート Windows システムで PowerShell コマンドを実行する |
SNMP_GET | 1.3.6.1.4.1.2021.4.5.0;1.3.6.1.4.1.2021.4.6.0 | ExtendedInformation は、次の 2 つの属性を持つオブジェクト: | 指定された MIB に対して SNMP GET コマンドを実行する。 ExtendedInformation のリスト、名前 (MIB) を含む ExtendedInformation、および MIB の値を返す。 |
SNMP_WALK | 1.3.6.1.2.1.2.2.1.2;1.3.6.1.2.1.4.20.1.2 | ExtendedInformation は、次の 2 つの属性を持つオブジェクト: | 指定された MIB に対して SNMP WALK コマンドを実行する。 ExtendedInformation のリスト、名前 (MIB) を含む ExtendedInformation、および MIB の値のリストを返す。 |
コマンドの結果タイプ
Starting with Discovery v.3, every pattern process type has a command result implementation.
プロセス タイプ | コマンド結果のタイプ |
---|---|
WMIQuery | WMIQueryResult |
WMIRegValue | WMIRegValueResult |
WMIRegValueList | WMIRegValueListResult |
WMIExecute | WMIExecuteResult |
PowerShellExecute | PowerShellExecuteResult |
SSHExecute | SSHExecuteResult |
SNMP_GET | SNMPExecuteResult |
SNMP_WALK | SNMPExecuteResult |
VIMObject | VIMCommandResult |
パターン タイプ
パターン タイプは、処理の結果として返される Discovery-Object のタイプを定義します。
Discovery-Object の結果はマージされます。たとえば、Discovery/pattern フォルダーには、複数の HostInfo パターンが表示され、それらはすべてホストの部分的な結果を収集するので、Discovery-Tool が属性をマージします。
タイプ | パターン例 (付属) | 説明 |
---|---|---|
ホスト | Linux_Hostinfo_Hostname.pat Windows_Hostinfo_Hostname_Model.pat | ホストについて収集されたデータの処理。 HostInfo-Object を処理するパターン関数 (PerformAction)。 |
Deviceinfo | SNMP_Deviceinfo_Default.pat | DeviceInfo-Object を処理するパターン関数 (PerformAction)。 |
ネットワーク | Linux_NetworkInterfaces.pat Windows_NetworkInterfaces.pat | NetworkInterfaces について収集されたデータの処理。 親システムの NetworkInterface-Object を処理するパターン関数 (PerformAction)。 |
CPU | Linux_CPUs.pat Windows_CPUs.pat | CPU について収集されたデータの処理。 親システムの CPUInfo-Object を処理するパターン関数 (PerformAction)。 |
OS | Linux_OS.pat Windows_OS.pat | OS について収集されたデータの処理。 親システムの OSInfo-Object を処理するパターン関数 (PerformAction)。 |
ファイルシステム | Linux_FileSystem.pat Windows_FileSystem.pat | ファイルシステムについて収集されたデータの処理。 親システムの FileSystemInfo-Object を処理するパターン関数 (PerformAction)。 |
アプリケーション | Linux_Application_RPM.pat Windows_Application_Product.pat | アプリについて収集されたデータの処理。 親システムの ApplicationInfo-Object のリストを返すパターン関数 (PerformAction)。 |
Patch | Windows_Patches.pat | パッチについて収集されたデータの処理。 親システムの PatchInfo-Object を処理するパターン関数 (PerformAction)。 |
ApplicationService | Windows_ApplicationServices.pat | ApplicationServiceについて収集されたデータの処理。 親システムの ApplicationServiceInfo-Object を処理するパターン関数 (PerformAction)。 |
OSProductKey | Windows_ProductKey.pat | ライセンスについて収集されたデータの処理。 オペレーティング システムのライセンスを処理するパターン関数 (PerformAction) |
ApplicationProductKey | 例: アプリ プロダクト キー | ライセンスについて収集されたデータの処理。 親システムのアプリのライセンスを処理するパターン関数 (PerformAction)。 |
ユーザー | Linux_User.pat Windows_User.pat | ユーザーについて収集されたデータの処理。 親システムのユーザーを処理するパターン関数 (PerformAction)。 |
グループ | Linux_Group.pat Windows_Group.pat | グループについて収集されたデータの処理。 親システムのグループを処理するパターン関数 (PerformAction)。 |
ConnectedPeripherie | Windows_Peripherie_USB_Storage.pat | 拡張情報について収集されたデータの処理。 親システムの ExtendedInformation-Object を処理するパターン関数 (PerformAction)。 |
SNMPExtendedValues | SNMP_Deviceinfo_ExtExampleRAM.pat | 拡張情報について収集されたデータの処理。 親システムの ExtendedInformation-Object を処理するパターン関数 (PerformAction)。 |
ConnectedPeripherie | Windows_Peripherie_USB_Storage.pat | 親システムの接続されたデバイスについて収集されたデータの処理。 |
HostinfoList | Windows_VBox_VMs.pat Linux_VBox_VMs.pat | 仮想ゲストのリストについて収集されたデータの処理 親システムの Host-Object (仮想ゲスト マシンなど) を処理するパターン関数 (PerformAction)。 |
PostProcessing | 事後処理パターンは、すべてのパターン タイプの後に実行され、ホスト/デバイス情報の追加または変更に使用できる HostInfo-Object または DeviceInfo-Object を返すパターン関数 (PerformAction)。 |