この記事ではMSIファイルを使ったインストールを行うKスクリプトの作成例を示します。
補足では管理対象インストールの作成についても言及しています。
この例では、 MSIファイルによるGoogle Chrome のインストールを行うオンライン/オフライン Kスクリプトを作成します。
1. 手動ソフトウェアアイテムの作成と必要なファイル(この場合MSIファイル)のアップロード
1. インベントリ | ソフトウェア へ移動
2. アクションを選択 | 新規作成 をクリック
3. ソフトウェア詳細に項目を入力
名前(必須): CIR-GoogleChrome for 64bit System
バージョン: (任意)空
発行元: (任意)空
メモ: (任意)空
サポートされているオペレーティングシステム:
すべて からチェックを外し,空にした後で、各OSの”x64”のみクリックしそのツリーにチェックが入るようにします。
カスタムインベントリルール: 以下の一行を記述します
FileExists(C:\Program Files\Google\Chrome\Application\chrome.exe)
ファイルのアップロードと関連付け: インストーラーファイル(GoogleChromeStandaloneEnterprise.msi)を指定(アップロードは保存時に行われます)
4. 保存をクリックして作成を完了します。
インベントリルールによるソフトウェアの有無が判定されるにはインベントリ更新がおこなわれる必要があります。
2. 新規Kスクリプトの追加
スクリプト作成 | スクリプト へ移動してアクション | 新規作成 を選択してKscript を作成します。
名前: (必須)任意の名称
有効: オフ(あとで変更する)
カテゴリ: (必須) 新規作成または既存から選択
タイプ: オンラインKスクリプト またはオフラインKスクリプト
ステータス: 任意
説明: 任意(空)
メモ: 任意(空)
オペレーティングシステム: Windows のみとなるように Mac/Linuxを除外してください。
指定してWindowsを実行(タイプ=オンラインKスクリプトの場合のみ表示): ローカルシステム を選択するとタスクがSYSTEMとして実行される。(オフラインKスクリプトでは暗黙的にSYSTEM実行)
ユーザー通知: 任意 (あるいは必要に応じて後で設定する)
スケジュール: 無し (後で設定する)
スケジュールオプション: 要件に応じて設定する (ログインしているユーザーがいなくても実行を許可, オフラインの場合は次の接続時に実行)
依存関係: 無し (ステップで紐づけたソフトウェアを選択することでファイルを呼び出すため)
タスク:(必須) +新しいタスク... をクリックして新規に タスク1を追加する
変更の保存 をクリックしてステップを保存します。
3. 成功時セクション(タスク内の 検証セクションのステップがすべて成功した場合に向かうセクション)で新しいステップを追加します。今回の例では何もする必要がないためログにメッセージを残すだけにします。「ログメッセージ…」を選択します。
タイプ: 出力
メッセージ: Google Chrome is already installed on target machine.
変更の保存 をクリックしてステップを保存します。
4. 修復セクション - ステップを追加して 「ソフトウェアパッケージをインストールします…」を選択します。※
Chromeのインストールに先に作成済みのソフトウェアアイテムに紐づけされたMSIファイルを使うため、msiexec.exe に必要な引数をつけて呼びだすことにします。この例ではQuietインストールのパラメータを与えています。
パッケージ: ファイルをアップロード済みのソフトウェアアイテムを選択
インストール引数: msiexec.exe /qn /i GoogleChromeStandaloneEnterprise.msi
フラグ: [ダウンロードしたファイルと解凍したコンテンツの削除] を選択
変更の保存 をクリックしてこのステップを保存します。
Tips: 修復セクションで「ソフトウェアパッケージをインストールします…」ステップを使用せず、依存関係ファイルにアップロードして ステップ「プログラムを起動します...」を使用することもできます。その場合スクリプト実行の時点で(修復セクションのステップを実行しない場合、つまり不要な場合でも)エージェントにまずファイルが送られるため、台数が少なくまたファイルが小さい(スクリプトなど)では問題ありませんが、台数が多い・サイズが大きなインストーラーを使用する場合、パフォーマンスに影響します。
・各種プログラムのインストール用MSIファイルのインストールオプションの説明および入手方法についてはKACEサポートではご案内しません。
・この例での検証セクションのステップでは 64-bit のWindows OS上に64-bit 版Chromeがインストールされていることを想定しています。
上記のスクリプトをスケジュールにて周期的に実行するとソフトウェアがインストールされていないエージェントデバイスだけでインストーラーが取り込まれてインストールのコマンドが実行されます。いつかは対象すべてに必要なインストールが行えますが以下の点で非効率です。
・リトライ回数がない
・実行周期の抑制ができない
配布 | 管理対象インストール は インベントリの周期でインストールのチェックとソフトウェアを持っていないデバイスにたいしてのみ特定回数でインストールを試みるように構成できます。
詳細は 管理対象インストールの設定方法 (4257165) を御参照ください。
1. 配布 | 管理対象インストール へ移動します。
2. アクションを選択 | 新規作成 をクリック
スケジュール: 実行されうる時間帯を指定します。
最大試行回数: アクション実行がおこなわれたあとのインベントリでソフトウェア情報が認識されない場合、指定回数繰り返されるまでインストールを繰り返します。
4. 保存します。
5. 再度開いてアクションを無効以外に変更します。
以上となります。