この文書では特定のケースでカスタムインベントリルールを使用する例について説明します。
カスタムインベントリの概要と設定手順については 「カスタムインベントリルールを用いたソフトウェアアイテムの作成手順 (148294)」をご参照ください。
1. Microsoft Internet Explorerのバージョン情報を収集する
[シナリオ]
Internet ExplorerはOSコンポーネントではなく個別のアプリケーションであるため、マシンごとに確認する必要があります。
しかし、コントロールパネル|プログラムと機能|プログラムアンインストールまたは変更 のメニューからアンインストール可能なプログラムの一覧に表示されるわけではなく、デバイスインベントリのソフトウェアセクションにある「インストールされているプログラム」にも表示されません。
[問題点]
インストール済みのInternet Explorerはソフトウェアインベントリに登録されません。
[解決策]
K1000でIEのバージョンを集めるには以下のルールが使用できます。
カスタムインベントリルール(論理行一行で記述):
FileInfoReturn(C:\Program Files\Internet Explorer\iexplore.exe, ProductVersion, TEXT)
FileInfoReturnは値返却ルールであるため、カスタムインベントリフィールドに値が保存されます。
2. ソフトウェアバージョンが一定以上または以下のマシンを抽出したい
[シナリオ]
ソフトウェアアイテムのタイトルにバージョン情報が含まれている場合にはソフトウェアタイトルからバージョン情報を含めた検索ができます。(例:Java 7 Update 76, Java 8 Update 31等)
しかし、ソフトウェアの表示名(タイトル)にはバージョンが含まれず、あるいは、詳細なバージョン情報をバージョン用のフィールドに格納している場合にはKACEのコンピュータ(デバイス)の検索からは一致させることができません。
例として、Adobe Flash Playerがあります。
表示名:Adobe Flash Player 16 ActiveX, バージョン:16.0.0.305
表示名:Adobe Flash Player 16 ActiveX, バージョン:16.0.0.296
いずれも タイトルはAdobe Flash Player 16 ActiveXであるため、16.0.0.305と、古い16.0.0.296を区別したいと考えています。
[問題点]
あるPCでは以下のソフトウェアの組み合わせを持っていたとします。
表示名: Adobe Flash Player 16 ActiveX, バージョン:16.0.0.305
表示名: SoftwareAAA ,バージョン10
この場合、コンピュータインベントリのデバイスの検索フィルタでは期待したような検索結果になりません。
【ソフトウェアタイトル】【=】"Adobe Flash Player 16 ActiveX" および
【ソフトウェアのバージョン】【<(アルファベット順)】 "16.0.0.305"
上記フィルタはこのPCを表示してしまいます。
上記条件は「16.0.0.305より古い"Adobe Flash Player 16 ActiveX"を持っているコンピュータ」を検索しているわけではなく、"Adobe Flash Player 16 ActiveX"というタイトルのソフトウェアを持ち、かつ、"16.0.0.305"より小さいバージョンのソフトウェアを持っている、コンピュータを抽出していることになります。
[解決策]
特定バージョンより古い、または、より新しいソフトウェアを持っていることを認識させるために以下のようなルールを使用することができます。
カスタムインベントリルール(論理行一行で記述):
RegistryValueLessThan(HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayerActiveX, Version, 16.0.0.305)
RegistryValueGreaterThan,RegistryValueEqualsも同じ引数で使用できます。
名前をSoftware-LTXXXXX などのようにしておけば、この条件に該当するソフトウェアを持っているという絞り込みを行うコンピュータラベルを作成できます。
3. 管理対象インストールによるインストール後に、パッチがあたると再び管理対象インストールが発生する挙動を抑制したい。
[シナリオ]
管理対象インストールを作成するには、ソフトウェアインベントリアイテムにインストーラーのファイルを割り当てる必要があります。
管理対象インストールは、インストールを行うべきかどうかの判断に、コンピュータが関連付けられたソフトウェアを持っているかどうかを根拠としており、もっていなければインストールを試みる動作を行います。
なお、通常のソフトウェアインベントリアイテムの一致条件は以下になります。
「タイトル」「ベンダー(製造元)」「バージョン」
あるソフトウェア(バージョン10.1)をインストールした時点では、割り当てたソフトウェアインベントリアイテムの情報と一致していましたが、ある日そのソフトウェアにパッチが適用されたことでバージョン情報(バージョン10.2)が変わってしまいました。
そのため、最初にインストールされたソフトウェア(10.1)は「インストールされていない」とSMAから判断されて管理対象インストールが開始されてしまいました。
[問題点]
パッチ適用などで管理対象インストールのソフトウェアアイテムの情報と、実際にインストールされているバージョンが異なると、管理対象インストールは、そのソフトウェアがシステムに「インストールされていない」ものと見做してインストールを開始します。インストーラーやシステムの制限により実際の実行は抑制されたり、管理対象インストールの無効化や試行回数の調整により制限することもできますが、不要な処理の発生は好ましくありません。
[解決策]
カスタムインベントリルールを使用してそのソフトウェアがインストールされているかどうかを独自に判断するようにします。
そのソフトウェアが C:\App\Folder\AAA\app.exe にインストールされ、バージョンが変わってもこのファイル名は変わらないのであれば、このファイルが指定したパスに存在していることがインストールされている指標にできるといえます。
カスタムインベントリルール(論理行1行で記述):
FileExists(C:\App\Folder\AAA\app.exe)
64-BitのWindows上で(ユーザープロファイルのAppDataへのインストールではなく)システムにインストールされたGoogle Chromeの有無については次のように書けます。
FileExists(C:\Program Files {{op}}x86{{cp}}\Google\Chrome\Application\chrome.exe)
# {{op}} {{cp}}はそれぞれ ( と ) のエスケープ表現
例としてご紹介いたしましたが、いずれのシナリオにおいてもカスタムインベントリを用いて得たい情報を引き出す場合に、どのような項目(ファイルやレジストリ)を取得すべきかについてはお客様にて調査・確認していただく必要がございます。
© 2022 Quest Software Inc. ALL RIGHTS RESERVED. Feedback 利用規約 プライバシー