拡張シグニチャーの演算子

9.2.2 以降で使用可能。操作の中で拡張 XML シグニチャー定義が使用されるスキャン操作は、シグニチャー・カタログに含まれている処理命令に基づいて実行されます。コンピューター言語において、式はオペランドと演算子の 2 つのタイプのコンポーネントで構成されています。オペランドは操作されるオブジェクトで、演算子は特定のアクションを表す記号です。オペランドと演算子は、スカラーかベクトルにできます。

シグニチャー・カタログのコンテキストでは、演算子とオペランドに次の定義が適用されます。
scalar operand
ストリング・フォーマットの値を返します。オペランドは子を持つことができません。例えば、RegKeyValue スカラー・オペランドは、指定されたレジストリー・キーの値を返します。
scalar operator
他の演算子およびオペランドを対象に演算を実行し、結果をストリング・フォーマットで返します。演算子は子を持つことができます。例えば、AND 演算子は、結果として TRUE か FALSE を返します。
vector operand
結果をストリングのセットとして返します。オペランドは子を持つことができません。例えば、FindFilePathEx オペランドは、ファイル・パスのセットを返します。
vector operator
他の演算子およびオペランドを対象に演算を実行し、結果をストリングのセットとして返します。演算子は子を持つことができます。例えば、Vector 演算子は、そのすべての子の結果を含んでいるストリングのセットを返します。

目次

シグニチャー・カタログの構造

1. シグニチャー・カタログの構造
オペランドおよび演算子 機能およびサポートされる属性
Action
Condition エレメントの結果に応じて実行されるアクションを指定します。
属性:
onValue
アクションの実行を引き起こす値。この属性は必須です。
do
実行する命令を指定します。この属性は必須です。サポートされる値は SKIP で、これはシグニチャーまたはイテレーター・インスタンスの評価を中断し、そのインスタンスが出力で返されないようにします。
Condition
指定された条件が満たされているかどうかを検査します。このエレメントは、Condition エレメントの結果に応じて実行されるアクションを指定した 1 つ以上の Action エレメントを含みます。
属性:
withVariable
検査する条件が設定された変数の名前を指定します。この属性は必須です。
MultipleInstance
同一ワークステーション上の複数のインスタンスにインストールされている可能性があるソフトウェア製品を識別する情報をグループ化します。1 つの Iterator エレメントと 1 つの Instance エレメントを含みます。
属性:
「なし」
複数インスタンス - INSTALL_PATH のイテレーター
<MultipleInstance>
  <Iterator name="INSTALL_PATH">
    <FindFilePathEx name=""/>
  </Iterator>
  <Instance> 
    <Variable name="IS_INSTALLED"><!-- RULE --> 
    </Variable>
    <Condition withVariable="IS_INSTALLED">
      <Action onValue="false" do="SKIP"/>
    </Condition>
  </Instance>
</MultipleInstance>
複数インスタンス - INSTALL PATH の計算 (オプション) を後で行うベクトルのイテレーター
<MultipleInstance>
  <Iterator name="ITER_VAR">
  </Iterator>
  <Instance> 
    <Variable name="IS_INSTALLED"><!-- RULE --> </Variable>
    <Variable name="INSTALL_PATH"><!-- RULE --> </Variable>
    <Condition withVariable="IS_INSTALLED">
      <Action onValue="false" do="SKIP"/>
    </Condition>
  </Instance>
</MultipleInstance> 
Variable
一連の演算子およびオペランドの結果によって戻り値が与えられる、ストリングで表現される単一値のコンテナー。
属性:
name
変数の名前を指定します。親シグニチャーの有効範囲内で固有です。この属性は必須です。
エクスポート (export)
変数の出力をエクスポートするかどうかを指定します。サポートされる値は、truefalse です。デフォルト値は true です。この属性は、オプションです。

主要な式

オペランドおよび演算子 機能およびサポートされる属性
And

すべての子の結果に対して論理 AND 演算を実行します。いずれかの演算で false が 返されると、演算全体が false に設定され、残りの子に対する以降の評価は実行されません。少なくとも 1 つの子が必要です。

プロパティー:
  • 結果タイプ: スカラー [true | false]
  • 式の分類: オペレーター (operator)
例:
<And>
	....scalar operators and operands returning a Boolean value
</And>
Clip

ストリングに含まれる連続した範囲の文字からなるサブストリングを返します。 サブストリングは、startIndex で指定された添字にある文字で始まり、endIndex で指定された添字にある文字で終わります。

プロパティー:
  • 結果タイプ: スカラー
  • 式の分類: operand
例:
例: 以下の例ではサブストリング 234 が返されます。
<Clip inputString="123456789" startIndex="1" endIndex="3"/>
属性:
inputString
トリミングするストリングを指定します。
startIndex
サブストリングの開始位置とする、入力ストリング内の文字の添字を指定します。添字 0 は、入力ストリングの先頭文字を指します。
endIndex
サブストリングの終了位置とする、入力ストリング内の文字の添字を指定します。添字 0 は、入力ストリングの最終文字を指します。
注: 新しい演算子 StringSlice の使用をお勧めします。StringSlice では、Python 構文の負の添字がサポートされるため、Clip より範囲が広がります。
Compare

relation 属性の値を基に 2 つの式を比較します。式が満たされた場合、結果は true になり、式が満たされなかった場合は falseになります。

プロパティー:
  • 結果タイプ: スカラー
  • 式の分類: オペレーター (operator)
例:
<Compare relation="relation" type="type" >
  <Expression 1/>
  <Expression 2/>
</Compare>
属性:
関係
評価する関係を指定します。サポートされる値は次のとおりです。
  • eq - 次と等しい
  • ne - 次と等しくない
  • gt - 次より大きい
  • ge - 次以上
  • lt - 次より小さい
  • le - 次以下
type
比較する式のフォーマットを指定します。サポートされる値は次のとおりです。
  • version - 2 つのバージョンを比較します。バージョンは、ピリオドまたはコンマで区切られた 4 つ以内の数値で表現されます。
  • integer - 2 つの整数を比較します。
  • string - 2 つのストリングを比較します。
  • cistring - 大/小文字を区別しない 2 つのストリングを比較します。
  • boolean - 2 つのブール値間で比較を実行します。
  • hex - 2 つの符号なし 4 バイト 16 進整数を比較します。0x 接頭部はオプションです。
Concat
式の連結を返します。
プロパティー:
  • 結果タイプ: スカラー
  • 式の分類: オペレーター (operator)
例:
<Concat [separator="separator"] [ifEmpty="{add|skip}"] >
  <Expression 1/>
  <Expression 2/>
...
</Concat>
属性:
separator
2 つの式の間に挿入する分離文字を指定します。この属性は、オプションです。デフォルト値は、空のストリングです。
ifEmpty
連結する式が空だった場合に、分離文字を追加する必要があるかどうかを指定します。この属性は、オプションです。@サポートされる値は、以下のとおりです。
skip
ストリングが空の場合、分離文字は追加されません。これはデフォルト値です。
add
ストリングが空の場合、分離文字を追加します。
Contains
ストリングにあるストリングが含まれているかどうかを検査します。
プロパティー:
  • 結果タイプ: スカラー [{true|false}]
  • 式の分類: operand
例:
<Contains inputString="example_string" searchedString=
"example_string_to_search" position = ["start" | "end" |
 "contains"]/>
属性:
inputString
検索先のストリングを指定します。
searchedString
検索するストリングを指定します。
position
検索する位置を指定します。
start
検索ストリングが先頭にあるかどうか検査します。
end
検索ストリングが末尾にあるかどうか検査します。
contains
検索ストリングがオリジナル・ストリング内にあるかどうか検査します。
FileInfoCompare
field 属性で指定された情報を返します。
プロパティー:
  • 結果タイプ: スカラー [{true|false}]
  • 式の分類: operand
例:
<FileInfoCompare
	absolutePath="absolute_path"
	field="field"
	value="value"
	relation="relation"
	[mustExist="{true|false}"]
/>
属性:
absolutePath
評価するファイルの絶対パスを指定します。
field
サポートされる値のいずれかに基づいて 2 つのファイルを比較します。サポートされる値は、以下のとおりです。
  • size
  • inode( UNIX のみ)
  • atime - ファイルがアクセスされた日付 (UNIX タイム・スタンプ・フォーマット)。
  • ctime - ファイルが作成された日付 (UNIX タイム・スタンプ・フォーマット)。
  • mtime - ファイルが変更された日付 (UNIX タイム・スタンプ・フォーマット)。
関係
評価する関係を指定します。
value
比較対象の値を指定します。
mustExist
指定したファイルが存在しなければならないことを示します。この属性は、オプションです。デフォルト値は false です。この属性が true に設定され、指定されたファイルが存在しないと、現在のシグニチャーは評価されません。
FileExists

指定されたファイルが存在するかどうかを示すブール値を返します。

プロパティー:
  • 結果タイプ: スカラー [true | false]
  • 式の分類: operand
例:
<FileExists absolutePath="absolute_path" />
属性:
absolutePath
検索するファイルの絶対パスを指定します。
Not
1 つの子の結果に対して論理 NOT 演算を実行します。1 つの子しか許可されません。
プロパティー:
  • 結果タイプ: スカラー [true | false]
  • 式の分類: オペレーター (operator)
例:
<Not>
	.... a single scalar operator or operand returning a Boolean value
</Not>
PathExists
指定されたパスが存在するかどうかを示すブール値を返します。
プロパティー:
  • 結果タイプ: スカラー
  • 式の分類: operand
例:
<PathExists absolutePath="absolute_path" />
属性:
absolutePath
検索する絶対パスを指定します。
Or

すべての子の結果に対して論理 OR 演算を実行します。いずれかの演算で true が 返されると、演算全体が true に設定され、残りの子に対する以降の評価は実行されません。少なくとも 1 つの子が必要です。

Substring

複数行のテキストを含んでいるストリングを検索し、検索テキストを含んでいるストリングの行を返します。

プロパティー:
  • 結果タイプ: vector
  • 式の分類: operand
例:
<Substring inputString="input_string_to_search" searchedString=
"string_to_search_for"/>
属性:
inputString
複数の行が含まれている入力ストリング。
searchedString
検索対象のストリング。
Vector
重複を含め、すべての子の和集合を含んだベクトルを返します。フィルターを指定した場合、結果にはパターンと一致したストリングのみが含まれます。
  • filter: 検索に適用するフィルター条件を指定します。アスタリスク (*) と疑問符 (?) のワイルドカードがサポートされます。
VectorAt
指定された位置のベクトル・エレメントを返します。
プロパティー:
  • 結果タイプ: スカラー
  • 式の分類: オペレーター (operator)
例:
<VectorAt index="index_number">
	... any number of scalar/vector operator/operand
</VectorAt>
属性:
索引
目的のベクトルの位置を指定します。最初のベクトル・エレメントの位置は 1 です。
VectorToScalar

ベクトルをそのスカラー表現に変換します。比較できるのはスカラーのみであるため、ベクトルをスカラーに変換する必要があります。

ファイル・システムの式

オペランドおよび演算子 機能およびサポートされる属性
FindFilePathEx

指定された場所で指定されたファイルを検索します。結果は、指定されたファイルに一致するエントリーが少なくとも 1 つ検出されたすべてのパスのベクトルです。

このオペランドは、ファイル・システム・スキャナーに定義されている設定に応じて、キャッシュかファイル・システムのいずれかを検索します。このオペランドでファイル・システムを検索するには、構成ファイル内で maxDataAge 属性をゼロに設定します。ファイルの検索を詳細化するために、追加のフィルターを設定できます。追加のフィルターには、検出されたファイルに適用されるファイル・システム・スキャナー照会を含めることができます。フィルターが true 状態を返した場合は、そのファイルのディレクトリーが返されます。それ以外の場合には、返されません。

プロパティー:
  • 結果タイプ: vector
  • 式の分類: operand
例:
< FindFilePathEx name="file_name"[filter="query_filter"] [recursive="{true|false}"] [appendFileName="{true|false}"]/> 
属性:
name
検索するファイル・マスクを指定します。この属性は必須です。
appendFileName
結果にファイル名を含めるかどうかを指定します。この属性は、オプションです。サポートされる値は次のとおりです。
  • true
  • false
フィルター (filter)
ファイル・システム照会を指定します。
FileInfoMatch
指定された名前と属性を持つファイルを指定された場所で検索します。一致するファイルが少なくとも 1 つ見つかると、結果は true になります。
プロパティー:
  • 結果タイプ: スカラー
  • 式の分類: operand
例:
<FileInfoMatch 
	[rootPath="root_path"]
	[recursive="{true|false}"]
	name="file_name"
	field="field"
	values="values"
/>
属性:
rootPath
検索を実行するパスを指定します。デフォルト値は / です。ワイルドカード (*) (?) がサポートされます。パスは次の構文に従って表されます。
media_type::]drive:path
それぞれの意味は以下のとおりです。
media_type
メディア・タイプを指定します。次の値を割り当てることができます。
$local
ローカル・ディスクを含めます。これはデフォルト値です。
$remote
リモート・ディスクを含めます。
$other
Windows システムの場合、その他のディスク・タイプ (CDROM、DVD など) を含めます。UNIX システムの場合、この値はサポートされず、$local 値で表されます。
$all
上記にリストされたすべてのディスクを含めます。
media_type 変数が指定されない場合は、$local 値と見なされます。したがって、ローカル以外のディスクをスキャンする必要がある場合、media_type 変数に値を指定してください。
drive
除外するドライブを指定します。特定のドライブを 1 つ以上指示するか、$local$remote$other、および $all の値を使用することもできます。その場合、指定されたカテゴリーのすべてのドライブが 検索から除外されます。この変数は、UNIX オペレーティング・システムではオプションです。
path
除外するパスを指定します。ワイルドカード (*) と (?) がサポートされます。
この属性は、オプションです。
recursive
検索を、指定したパスとそのすべてのサブディレクトリーで実行するかどうかを指定します。サポートされる値は、truefalse です。デフォルト値は true です。この属性は、オプションです。
name
検索するファイル名を指定します。この属性は必須です。ワイルドカード (*) と (?) がサポートされます。
field
サポートされる値のいずれかに基づいて 2 つのファイルを比較します。サポートされる値は、以下のとおりです。
  • size
  • inode( UNIX のみ)
  • atime - ファイルがアクセスされた日付 (UNIX タイム・スタンプ・フォーマット)。
  • ctime - ファイルが作成された日付 (UNIX タイム・スタンプ・フォーマット)。
  • mtime - ファイルが変更された日付 (UNIX タイム・スタンプ・フォーマット)。
field 属性で指定した属性の値を 1 つ以上指定します。複数の値を指定した場合、それらの項目は、Unicode 制御文字「Private Use 1」(ASCII コード 0x0091) を使用して連結されます。
date
ファイルの作成日、アクセス日、および変更日を返します。
ReadFile
システム上のファイルのテキストをストリング形式で返します。
プロパティー:
  • 結果タイプ: スカラー
  • 式の分類: operand
例:
<ReadFile path="path_to_file" [trim="{true|false}"][fileType="{native|utf8}"]/>
属性:
パス
ファイルへのパスを指定します。
trim
ファイルの内容から改行特殊文字を削除するかどうかを指示します。デフォルトは false です。
fileType
ファイルのタイプを指示します。デフォルトは native です。

ネイティブ・レジストリーの式

オペランドおよび演算子 機能およびサポートされる属性
AixProductInfo
サポートされる AIX® オペレーティング・システムに関する情報を返します。
プロパティー:
  • 結果タイプ: スカラー
  • 式の分類: operand
例:
<AixProductInfo code="product_code" field="{name|version|vendor|description|installDir}" 
[mustExist="{true|false}"] />
属性:
コード (code)
AIX® ODM パッケージを一意的に識別する製品コードを指定します。製品コードを取得するには、AixProductList オペランドを使用する必要があります。このオペランドについて詳しくは、AixProductList を参照してください。
field
取得する情報を指定します。サポートされる値は、以下のとおりです。
  • name
  • version - バージョンは、ピリオドまたはコンマで区切られた 4 つ以内の数値で表現されます。
  • vendor
  • description
  • installDir
mustExist
指定したファイルが存在しない場合に、オペランドの評価を停止するかどうかを指定します。サポートされる値は、truefalse です。デフォルト値は false です。この属性は、オプションです。この属性が true に設定され、指定されたファイルが存在しないと、現在のシグニチャーは評価されません。この属性が false で、指定されたファイルが存在しない場合、戻り値は空ストリングになります。
AixProductList
AIX® ODM パッケージ・コードのセットを返します。返されたコードを AixProductExists オペランドや AixProductInfo オペランドで使用できます。
プロパティー:
  • 結果タイプ: vector
  • 式の分類: operand
例:
<AixProductList [filter="filter_expression"]
  [type="type"] />
属性:
type
製品タイプに基づいたフィルターを適用します。この属性は、オプションです。サポートされる値は、以下のとおりです。
any
製品とすべてのサブ製品を両方返します。これはデフォルト値です。
product
製品のみを返します。
フィルター (filter)
検索に適用するフィルター条件を指定します。アスタリスク (*) と疑問符 (?) のワイルドカードがサポートされます。この属性は、オプションです。
HpProductInfo
要求された情報を (入手可能な場合) 返します。
プロパティー:
  • 結果タイプ: スカラー
  • 式の分類: operand
例:
<HpProductInfo code="product_code" field="{name|version|
vendor|installDir}"/>
属性:
コード (code)
HP-UX パッケージを一意的に識別する製品およびサブ製品のコードを指定します。製品およびサブ製品のコードを取得するには、HpProductList オペランドを使用しなければなりません。このオペランドについて詳しくは、HpProductList を参照してください。この属性は、オプションです。
field
取得する情報を指定します。サポートされる値は、以下のとおりです。
  • name
  • version - バージョンは、ピリオドまたはコンマで区切られた 4 つ以内の数値で表現されます。
  • vendor
  • installDir
HpProductList
HP-UX パッケージ・コードのセットを返します。返されたコードを HpProductExists オペランドや HpProductInfo オペランドで使用できます。
プロパティー:
  • 結果タイプ: vector
  • 式の分類: operand
例:
<HpProductList [filter="filter_expression"]
  [type="type"] />
属性:
type
製品タイプに基づいたフィルターを適用します。この属性は、オプションです。サポートされる値は、以下のとおりです。
any
製品とすべてのサブ製品を両方返します。これはデフォルト値です。
product
製品のみを返します。
subproduct
サブ製品のみを返します。
フィルター (filter)
検索に適用するフィルター条件を指定します。アスタリスク (*) と疑問符 (?) のワイルドカードがサポートされます。この属性は、オプションです。
RpmProductExists
指定されたパッケージがインストールされているかどうかを示します。
プロパティー:
  • 結果タイプ: スカラー [true | false]
  • 式の分類: operand
  • オペレーティング・システム:Linux および AIX でサポートされます
例:
<RpmProductExists code="product_code" />
属性:
コード (code)
RPM パッケージを一意的に識別する製品コードを指定します。製品コードを取得するには、RPMProductList オペランドを使用します。このオペランドについて詳しくは、RpmProductList を参照してください。
製品コードは、rpm -qa コマンドとともにリストすることもできます。このコマンドは、RPM パッケージを識別するすべての使用可能なコードを返します。コードでは、パッケージ・アーキテクチャーを定義するかしないか、どちらも可能です。例: kernel-2.6.32-358.el6.x86_64 または kernel-2.6.32-358.el6。
RpmProductList
RPM パッケージ・コードのセットを返します。返されたコードを RpmProductExists オペランドや RpmProductInfo オペランドで使用できます。
プロパティー:
  • 結果タイプ: vector
  • 式の分類: operand
  • オペレーティング・システム:Linux および AIX でサポートされます
例:
<RpmProductList [filter="filter_expression"]
 [type="type"] />
属性:
フィルター (filter)
検索に適用するフィルター条件を指定します。アスタリスク (*) と疑問符 (?) のワイルドカードがサポートされます。この属性は、オプションです。
type
製品タイプに基づいたフィルターを適用します。この属性は、オプションです。サポートされる値は、以下のとおりです。
any
製品とすべてのサブ製品を両方返します。これはデフォルト値です。
product
製品のみを返します。
SunProductInfo
要求された情報を (入手可能な場合) 返します。
プロパティー:
  • 結果タイプ: スカラー
  • 式の分類: operand
  • オペレーティング・システム: Oracle Solaris オペレーティング環境でサポートされます
例:
<SunProductInfo code="produt_code" field="{name|version|displayVersion|vendor|installDir}"/>
属性:
コード (code)
Oracle Solaris パッケージを一意的に識別する製品コードを指定します。製品コードを取得するには、SunProductList オペランドを使用しなければなりません。このオペランドについて詳しくは、SunProductList を参照してください。
field
取得する情報を指定します。サポートされる値は、以下のとおりです。
name
製品の名前を返します。
version
製品バージョンとリビジョン番号 (例えば、3.7.2101) を返します。
displayVersion
製品バージョンとリビジョン番号 (例えば、3.7.2101,REV=0.98.08.26) を返します。
vendor
ベンダーの名前を返します。
installDir
最上位インストール・ディレクトリーを返します。
SunProductList
Sun Solaris パッケージ・コードのセットを返します。返されたコードを SunProductExists オペランドで使用できます。
プロパティー:
  • 結果タイプ: vector
  • 式の分類: operand
  • オペレーティング・システム: Sun Solaris オペレーティング環境でサポートされます
例:
<SunProductList [filter="filter_expression"]
  [type="type"] />
属性:
type
製品タイプに基づいたフィルターを適用します。この属性は、オプションです。サポートされる値は、以下のとおりです。
any
製品とすべてのサブ製品を両方返します。これはデフォルト値です。
product
製品のみを返します。
フィルター (filter)
検索に適用するフィルター条件を指定します。アスタリスク (*) と疑問符 (?) のワイルドカードがサポートされます。この属性は、オプションです。
Win32ProgramInfo
要求された情報を (入手可能な場合) 返します。
プロパティー:
  • 結果タイプ: スカラー
  • 式の分類: operand
  • オペレーティング・システム: サポートされるすべての Windows オペレーティング・システム
例:
<Win32ProgramInfo code="product_code"
	field="{name|description|version|vendor|installDir|uninstData}"/>
属性:
コード (code)
Win32 プログラムを一意的に識別する製品コードを指定します。プログラムのコードを取得するには、Win32ProgramList オペランドを使用しなければなりません。このオペランドについて詳しくは、Win32ProgramList を参照してください。
field
取得する情報を指定します。サポートされる値は、以下のとおりです。
name
パッチ名を返します。
description
パッチ記述を返します。
version
製品バージョンを返します。バージョンは、ピリオドまたはコンマで区切られた 4 つ以内の数値で表現されます。
vendor
製品ベンダーを返します。
installDir
インストール・ディレクトリーを返します。
uninstData
製品のアンインストール・コマンドを返します。
Win32ProgramList
インストールされているパッケージのセットを返します。返されたコードを Win32ProgramExists オペランドや Win32ProgramInfo オペランドで使用できます。
プロパティー:
  • 結果タイプ: vector
  • 式の分類: operand
  • オペレーティング・システム: サポートされるすべての Windows オペレーティング・システム
例:
<Win32ProgramList [filter="filter_expression"] [type="type"] />
属性:
type
製品タイプに基づいたフィルターを適用します。この属性は、オプションです。サポートされる値は、以下のとおりです。
any
製品とすべてのサブ製品を両方返します。これはデフォルト値です。
product
製品のみを返します。
フィルター (filter)
検索に適用するフィルター条件を指定します。アスタリスク (*) と疑問符 (?) のワイルドカードがサポートされます。この属性は、オプションです。

レジストリー・オペランド

オペランドおよび演算子 機能およびサポートされる属性
PackageInfoEqual
指定されたレジストリーに名前、バージョン、およびベンダーが同じ項目が存在する場合、true を返します。
プロパティー:
  • 結果タイプ: スカラー [true | false]
  • 式の分類: operand
例:
<PackageInfoEqual 
	provider="{any | ismp | os}"
	code="product_code"
	value="name_version_vendor" 
/>
属性:
provider
検索するインストール・データベースを指定します。サポートされる値は、以下のとおりです。
any
オペレーティング・システムのインストール・データベース、その次に ISMP インストール・データベースに対して検索を実行することを指定します。
OS
オペレーティング・システムのインストール・データベースに対して検索を実行することを指定します。
ismp
ISMP インストール・データベースに対して検索を実行することを指定します。
コード (code)
製品を一意的に識別する製品コードを指定します。
製品の名前、バージョン、およびベンダーの各ストリングを連結したストリングで構成されます。各ストリングは空白 (スペース) で区切ります。 空ストリングは省略できます。
PackageInfoMatch
レジストリーに名前、バージョン、およびベンダーが同じ項目が存在する場合、true を返します。
プロパティー:
  • 結果タイプ: スカラー [true | false]
  • 式の分類: operand
  • オペレーティング・システム: サポートされるすべてのオペレーティング・システム
例:
<PackageInfoMatch
vendor="product vendor"
name="product name"
version="product version"
/>
属性:
vendor
製品ベンダーを指定します。
name
製品の名前を指定します。
version
製品のバージョン番号を指定します。

ワイルドカード (*) がサポートされています。

Windows レジストリーの式

オペランドおよび演算子 機能およびサポートされる属性
RegKeyExists
指定されたキーが存在するかどうかを示します。
プロパティー:
  • 結果タイプ: スカラー [true | false]
  • 式の分類: operand
例:
<RegKeyExists key="key" [section="{32|64|32or64|64or32}"]/>
属性:
key
完全なレジストリー・キー名を registry_key\registry_subkey のフォーマットで指定します。
セクション
検索を実行するレジストリーのセクションを示す属性を指定します。これは、スキャナーが 64 ビット・システムで正しく動作するように導入されたパラメーターです。この値は次のとおりです。
32
検索は、レジストリーの 32 ビット部分のみを対象に実行されます。
64
検索は、レジストリーの 32 ビット部分のみを対象に実行されます。
32or64
検索は、最初にレジストリーの 32 ビット部分を対象に実行され、その後 64 ビット部分を対象に実行されます。
64or32
検索は、最初にレジストリーの 64 ビット部分を対象に実行され、その後 32 ビット部分を対象に実行されます。
デフォルト値は 32 です。
RegKeyList
root 属性で指定されたキーの下の Windows レジストリーを検索し、ルート・キーの下にあるレジストリー内のキーのリストを返します。subKeys 属性が false に設定された場合は、ルート・キーの値のみが返されます。
プロパティー:
  • 結果タイプ: vector
  • 式の分類: operand
例:
<RegKeyList 
	root="root_key"
	[section="{32|64|32or64|64or32}"]
	[subKeys="{true|false}"]/>
属性:
root
完全なレジストリー・キー名を registry_key\registry_subkey のフォーマットで指定します。
セクション
検索を実行するレジストリーのセクションを示す属性を指定します。これは、スキャナーが 64 ビット・システムで正しく動作するように導入されたパラメーターです。この値は次のとおりです。
32
検索は、レジストリーの 32 ビット部分のみを対象に実行されます。
64
検索は、レジストリーの 32 ビット部分のみを対象に実行されます。
32or64
検索は、最初にレジストリーの 32 ビット部分を対象に実行され、その後 64 ビット部分を対象に実行されます。
64or32
検索は、最初にレジストリーの 64 ビット部分を対象に実行され、その後 32 ビット部分を対象に実行されます。
デフォルト値は 32 です。
subKeys
subkeys を返す必要があるかどうかを指定します。デフォルト値は false です。
RegKeyValue
指定されたレジストリー・キーの現行値を返します。レジストリー・キーが REG_DWORD エントリーの場合、キー属性は 10 進数値を返します。
プロパティー:
  • 結果タイプ: スカラー
  • 式の分類: operand
例:
<RegKeyValue entry="entry" key="key"
[section="{32|64|32or64|64or32}"]
 [mustExist="{true|false}"]/>
属性:
key
完全なレジストリー・キー名を registry_key\registry_subkey のフォーマットで指定します。
entry
キーに含まれている値の名前を指定します。"(Default)" というレジストリー・エントリーの値を取得するには、entry 属性にヌル値 (例えば、entry="") を指定する必要があります。
セクション
検索を実行するレジストリーのセクションを示す属性を指定します。これは、スキャナーが 64 ビット・システムで正しく動作するように導入されたパラメーターです。この値は次のとおりです。
32
検索は、レジストリーの 32 ビット部分のみを対象に実行されます。
64
検索は、レジストリーの 32 ビット部分のみを対象に実行されます。
32or64
検索は、最初にレジストリーの 32 ビット部分を対象に実行され、その後 64 ビット部分を対象に実行されます。
64or32
検索は、最初にレジストリーの 64 ビット部分を対象に実行され、その後 32 ビット部分を対象に実行されます。
デフォルト値は 32 です。
mustExist
指定したキーが存在しない場合に、オペランドの評価を停止するかどうかを指定します。サポートされる値は、truefalse です。デフォルト値は false です。この属性は、オプションです。この属性が true に設定され、指定されたキーが存在しないと、現在のシグニチャーは評価されません。この属性が false に設定され、指定されたキーが存在しないと、空ストリングが返されます。
RegKeyValueContains
指定されたレジストリー・キーが、指定された値を含んでいるかどうかを示します。
プロパティー:
  • 結果タイプ: スカラー [true | false]
  • 式の分類: operand
例:
<RegKeyValueContains
	entry="entry"
	key="key"
	value="value"
[section="{32|64|32or64|64or32}"]
	[mustExist="{true|false}"]/>
属性:
key
完全なレジストリー・キー名を registry_key\registry_subkey のフォーマットで指定します。
entry
キーに含まれている値の名前を指定します。
entry に含まれている必要がある値を指定します。
セクション
検索を実行するレジストリーのセクションを示す属性を指定します。これは、スキャナーが 64 ビット・システムで正しく動作するように導入されたパラメーターです。この値は次のとおりです。
32
検索は、レジストリーの 32 ビット部分のみを対象に実行されます。
64
検索は、レジストリーの 32 ビット部分のみを対象に実行されます。
32or64
検索は、最初にレジストリーの 32 ビット部分を対象に実行され、その後 64 ビット部分を対象に実行されます。
64or32
検索は、最初にレジストリーの 64 ビット部分を対象に実行され、その後 32 ビット部分を対象に実行されます。
デフォルト値は 32 です。
mustExist
指定したキーが存在しない場合に、オペランドの評価を停止するかどうかを指定します。サポートされる値は、truefalse です。デフォルト値は false です。この属性は、オプションです。この属性が true に設定され、指定されたキーが存在しないと、現在のシグニチャーは評価されません。この属性が false に設定され、指定されたキーが存在しないと、空ストリングが返されます。
RegKeyValueEqual
指定されたレジストリー・キー値が指定されたキーと等しいかどうか示します。
key
完全なレジストリー・キー名を registry_key/registry_subkey のフォーマットで指定します。
entry
キーに含まれている値の名前を指定します。
value
比較する値を指定します。entry 属性に指定されるレジストリー・キーが REG_DWORD エントリーである場合、value 属性には 10 進数値を入力します。
RegKeyVersionCompare

relation 属性の値を基に、指定されたレジストリー・キー値と指定されたバージョンを比較します。

プロパティー:
  • 結果タイプ: スカラー [true | false]
  • 式の分類: operand
例:
<RegKeyVersionCompare 
	key="key"
	entry="entry"
	relation="relation"
	value="value"
 [section="{32|64|32or64|64or32}"]
	[mustExist="{true|false}"]/>
属性:
key
完全なレジストリー・キー名を registry_key\registry_subkey のフォーマットで指定します。
entry
キーに含まれている値の名前を指定します。
関係
評価する関係を指定します。サポートされる値は、以下のとおりです。
  • eq - 次と等しい
  • ne - 次と等しくない
  • gt - 次より大きい
  • ge - 次以上
  • lt - 次より小さい
  • le - 次以下
比較するバージョンを指定します。
注: entry 属性に指定されるレジストリー・キーが REG_DWORD エントリーである場合、value 属性には 10 進数値を入力します。サポートされる値は version です。バージョンは、ピリオドまたはコンマで区切られた最大 4 つの数値で表現されます。
注: entry 属性に指定されるレジストリー・キーが、REG_BINARY エントリーである場合、value フィールドには、レジストリー・エディターで「data」フィールドを表示したときに表示されるストリングとまったく同じストリングを入力しなければなりません。このストリングは、スペースで区切られた一連の 2 桁の数値 (例えば、"01 01" "10 11 10") でなければなりません。
セクション
検索を実行するレジストリーのセクションを示す属性を指定します。これは、スキャナーが 64 ビット・システムで正しく動作するように導入されたパラメーターです。この値は次のとおりです。
32
検索は、レジストリーの 32 ビット部分のみを対象に実行されます。
64
検索は、レジストリーの 32 ビット部分のみを対象に実行されます。
32or64
検索は、最初にレジストリーの 32 ビット部分を対象に実行され、その後 64 ビット部分を対象に実行されます。
64or32
検索は、最初にレジストリーの 64 ビット部分を対象に実行され、その後 32 ビット部分を対象に実行されます。
デフォルト値は 32 です。
mustExist
指定したキーが存在しない場合に、オペランドの評価を停止するかどうかを指定します。サポートされる値は、truefalse です。デフォルト値は false です。この属性は、オプションです。この属性が true に設定され、指定されたキーが存在しないと、現在のシグニチャーは評価されません。