正直なところ、GPO経由でのソフトウェアの展開は、特にパッケージの種類やタイミングの制限を考えると、時に非常に面倒な場合があります。しかし、Microsoft TeamsなどのMSIベースのセットアップをプッシュする必要がある場合、EXEファイルからMSIファイルを抽出し、展開オプションを調整する方法を知っていれば、多くの手間を省くことができます。さらに、MSIパラメータをリアルタイムで変更する方法を理解していれば、展開中に自動起動を無効にしたり、カスタム設定を設定したりすることも可能です。これは、ユーザー環境をユーザーの干渉なく制御したい場合に非常に便利です。
グループポリシー経由でソフトウェアを展開する際によくある問題を解決する方法
EXEインストーラーからMSIパッケージを抽出する
ちょっと奇妙かもしれませんが、多くのアプリはMSIインストーラーをEXEファイルの中に隠しています。MSIファイルが直接入手できない場合は、いくつかの方法を試してみてください。まず、インストール中にEXEインストーラーの中には、%temp%にファイルを解凍するものがあります。必ずしもそうとは限りませんが、インストール中にtempフォルダを注意深く監視していれば、そこにMSIファイルやMSTファイルが含まれている可能性があります。インストール開始後、インストーラーウィンドウを最小化して、%temp%フォルダの中を覗いてみてください%temp%。
何度かうまくいったもう一つの方法は、まず7-ZipでEXEファイルを開くことです。EXEファイルを右クリックし、「 7-Zipでアーカイブを開く」を選択して中身を確認します。アーカイブ内にMSIファイルやMSTファイルが入っている場合もあります。こうすることで、フルセットアップを実行せずにインストーラーパッケージを入手できます。KB:もちろん、Windowsは必要以上に難しくしているからです。
MSIベースのアプリを展開するためのGPOの作成
この部分は非常に簡単ですが、多くの問題が発生する可能性があるため、正しく行うことが重要です。 GPO を使用して MSI ファイルを展開する場合、基本的には、ターゲット マシンを含む OU にリンクされた新しい GPO を作成することです。手順は次のとおりです。 – gpmc.msc を開きます。 – 新しい GPO を作成し、 Deploy Teamsのような名前を付けます。 – ターゲット デバイスを含む OU に GPO をリンクします。 – GPO を右クリックし、編集 を選択します。 – コンピューターの構成 → ポリシー → ソフトウェアの設定 → ソフトウェアのインストール に移動します。 – 右クリックし、新規 → パッケージ を選択します。 – \\domain.local\SYSVOL\domain.com\scripts\Teams_windows_x64.msiの形式で、MSI への UNC パスを入力します。 (すべてのターゲット コンピューターから共有にアクセスできることを確認してください。) – 詳細設定 を選択し、OK をクリックします。 – 展開方法を [割り当て済み] に設定します。これにより、設定に応じて、ユーザーのログイン時またはコンピューターの起動時に自動的にインストールされます。 – 必要に応じて、パッケージ オプションで表示名を「Teams マシン全体のインストーラー」から「Microsoft Teams クライアント」に変更します。見た目がすっきりします。 – [展開] タブで、[このパッケージを展開するときに言語を無視する] をオンにします。これは、言語固有の MSI ファイルがある場合に役立ちます。 – すべてを保存し、対象の PC を再起動して、バックグラウンドでインストールが静かに行われるのを確認します。詳細な進行状況を確認したい場合は、[コンピューターの構成] → [ポリシー] → [管理用テンプレート] → [システム] で [非常に詳細な状態メッセージを表示する] を有効にすることをお勧めします。セットアップによっては、起動時にインストールの進行状況やエラーがリアルタイムで表示されるため、非常に便利です。
展開前に MSI インストール オプションを変更する
最初は戸惑いましたが、MSIインストーラーをカスタマイズする必要がある場合(例えば、自動起動を無効にしたり、ユーザーの削除を禁止したりする場合)、GPOにパラメータを適当に書き込むだけではダメです。MSTトランスフォームファイルを作成する必要があります。これは基本的に、MSIのインストール方法を調整するカスタムスクリプトです。
無料のORCAツールキット(Windows Installer SDKに付属)を使用してMSIファイルを開き、新しい変換を作成し、 noAutoStart=trueなどの必要なプロパティやその他のカスタムオプションを設定します。これを例えば、teams_mod.mst.
次に、展開前にGPOで、そのMSIの既存のルールをすべて削除します。パッケージを右クリックし、「削除」を選択して、新しい展開を作成します。MSIを選択したら、「変更」タブに移動し、作成したMSTファイルを追加します。これで、インストール時にカスタム設定が自動的に適用されます。
少し厄介なのは、MSIがMSIインストーラとZAPインストーラのみをサポートし、スケジュール機能が組み込まれていないことです(GPOのタイミングに制限されます)。また、インストール順序を保証したり、成功/失敗の詳細なレポートを取得したりする簡単な方法もありません。場合によっては、片方のマシンでは正常に動作するのに、もう片方のマシンでは動作しないことがあります。これは少しイライラしますが、追加のトラブルシューティングを行えば解決できます。
Windows では操作が複雑になりがちなので、最新のアプリ管理には Winget などの新しいツールの使用を検討してみてはいかがでしょうか。企業全体への導入にはまだ最適ではありませんが、スクリプトによる迅速なインストールには大変便利で、GPO よりも柔軟性があります。
これが、GPO 経由で Windows ソフトウェアを展開するための適切なパンチリストになれば幸いです。完璧ではありませんが、少しの忍耐があれば、アップデートや新しいアプリをあまり手間をかけずに展開できる程度には管理できます。
まとめ
- 7-Zip または Temp フォルダのトリックで EXE から MSI を抽出する
- 適切なパスと設定で管理可能な GPO を作成し、リンクします。
- 展開前に MST ファイルを使用して MSI オプションをカスタマイズします
- トラブルシューティングのための詳細なステータスメッセージを有効にする
まとめ
GPO経由でのソフトウェアの導入は、特に多くの制限事項があるため、必ずしもスムーズなプロセスとは言えません。しかし、MSIファイルの抽出方法やオプションの調整方法を知っておくと、作業が楽になります。一つには、すべてがサイレントかつ正しくインストールされるようにすること、もう一つには、ネットワークに過負荷をかけたりタイミングの問題が発生したりしないようにすることです。複数のセットアップでうまくいけば成功です。もしうまくいかなかった場合、`gpresult`とイベントビューアを使ってGPOアプリケーションの問題をトラブルシューティングするのは、満足感と苛立ちの入り混じった作業です。うまくいくことを祈ります。そして、スクリプトを手元に用意しておきましょう。これは、何か問題が発生した時に役に立ちます。