Microsoft Windows Vista でレガシ アプリケーションを昇格された実行レベルに設定するためのアプリケーション互換性ツールの使用

Windows セキュリティ アクセス制御

公開日: 2005年10月28日

適用対象 : Microsoft Windows Vista

概要 : Microsoft Windows Vista のユーザー アカウント保護 (UAP) 機能によって既存のアプリケーションが失敗することがあります。この資料では、こうした既存のアプリケーション用のアプリケーション互換性 'shim' を作成および展開する方法に関する IT 部門向けのガイドラインを提供します。

トピック

概要と背景
実行レベルの設定
昇格の承認ポリシー
アプリケーション互換性データベース shim を作成する前に
CompatAdmin.exe を実行する
AppCompat データベースの Shim を削除する
企業内でのグループ ポリシーを使用した展開
カスタム インストーラのサンプル VBScript
.msi パッケージを作成する
Authenticode で MSI に署名する
パッケージをテストする
グループ ポリシーを使用して MSI を展開する
Microsoft Active Directory にグループ ポリシーを追加する
展開をテストする

概要と背景

ユーザー アカウント保護 (UAP) は、Microsoft Windows NT 3.1 で最初にデザインされた Windows セキュリティ アーキテクチャを利用しています。Windows Vista では UAP が有効になると、管理者を含めてすべてのユーザーが制限付きのユーザー アカウントで実行されます。管理者は、必要な場合のみアカウントの完全な特権を使用できる管理アプリケーションを選択して起動できます。これが、保護された管理者 (PA) アカウントの概念を支える原理です。特権を持つユーザーは、自分のアカウントにログオンする場合、実際には制限付きユーザー アカウントの環境にログインしますが、承認を行うことで、完全な特権でアプリケーションを実行できます。承認が認められた場合しか、アプリケーションをユーザーの完全な特権で実行することはできません。

Windows Vista の Windows 準拠の新しいアプリケーションは制限付きユーザー アカウントで実行するか、マニフェストのエントリで管理アプリケーションであることを設定する必要があります。こうすることで、Windows はユーザーが管理アプリケーションを起動しようとしており、承認を求める必要があることをユーザーに通知できます。Microsoft のロゴ プログラムの詳細については、Microsoft Windows ロゴのホーム ページを参照してください。

IT 部門は、Windows Vista を展開しているときに、既存の基幹業務アプリケーションが正常に機能しなくなったことに気付く場合があります。これは、おそらく、Windows Vista に組み込まれた拡張機能とそのアプリケーションの間に互換性がないことが原因です。Microsoft は、アプリケーション互換性ツールキットを用意しています。IT 部門は互換性の問題を特定する際にこのツールキットを使用して、互換性 shim を作成できます。IT 部門は、特定のプログラムが Windows Vista で正常に機能しない場合、そのプログラムで管理操作を実行できるようにする必要があることに気付くことがあります。この場合、プログラムを完全な管理者特権で実行する前にユーザーに承認を求めるように、プログラムにタグを付ける必要があります。このツールキットを使用すると、AppCompat データベース エントリを作成およびインストールできます。これにより、このタグ メカニズムが使用できるようになります。

アプリケーションの互換性については、この Web サイト (英語) を参照してください。

アプリケーション互換性ツールキットについては、この Web サイト (英語) を参照してください。

実行レベルの設定

アプリケーションに選択される実行レベルは、アプリケーションが実行するシステム レベルの操作の種類によって異なります。

  • RunAsLUA - アプリケーションが親プロセスと同じ特権で実行されます。これは、アプリケーションに AppCompat データベースを使用していないのと同じです。アプリケーションは、アプリケーションを起動したプロセスと同じ特権で起動されます。

  • RunAsHighest - アプリケーションを現在のユーザーが取得できる最も高い特権で実行します。この場合、必ずしもユーザーが管理者である必要はありません。この設定は、2 つのクラスのアプリケーションに使用されます。

    1.   特権を持つユーザーと制限付きユーザーの両方がアプリケーションを実行でき、その動作はユーザーの特権に基づいて変化します。

    2.    アプリケーションでは制限付きユーザー以上の特権が必要ですが、ユーザーが Administrators グループのメンバである必要はありません。たとえば、Backup Operators のメンバのユーザーでもかまいません。このクラスのユーザーは、完全な管理者特権が必要なアプリケーションを実行できませんが、バックアップ アプリケーションを実行できます。この場合、レガシ バックアップ アプリケーションは RunAsHighest に設定されている必要があります。

  • RunAsAdmin - 管理者しかアプリケーションを実行できません。アプリケーションは管理者特権で起動されます。この設定は、ユーザーが Administrators グループのメンバである必要のあるレガシ アプリケーション用です。

昇格の承認ポリシー

承認ポリシーにより、特権を要求しているアプリケーションを起動する際にユーザーが提供する必要のある承認の種類が決まります。これは、ローカル セキュリティ ポリシーの設定で制御されます。

システムのポリシーを表示または設定するには

  1. [Start (スタート)] ボタンをクリックして、[Run (ファイル名を指定して実行)] をクリックし、「secpol.msc」と入力します。

  2. [Local Security Settings (ローカル セキュリティ設定)] に移動して、[Local Policies (ローカル ポリシー)] をクリックし、[Security Options (セキュリティ オプション)] をクリックします。

  3. [LUA: Behavior of the elevation prompt (LUA: 昇格要求時の動作)] を選択します。

    LUA: Behavior of the elevation prompt (LUA: 昇格要求時の動作)

    より高いアクセス許可でプログラムを実行する前にユーザーに問い合わせる方法を決定します。

    • No Prompt (問い合わせなし) - 警告せずに昇格します。

    • Prompt for consent (同意の問い合わせ) - 続行するかどうかをユーザーに確認します。

    • Prompt for Credentials (資格情報の問い合わせ) - 続行する前にユーザーのログイン パスワードを要求します (既定の設定)。

    このポリシーは、LUA が有効な場合のみ適用されます。

    注 : ほとんどの状況では、"No Prompt (問い合わせなし)" はお勧めしません。"No Prompt (問い合わせなし)" の昇格では、LUA アプリケーションが同意を得ずに管理アプリケーションを起動できるようになります。

上記の設定をグループ ポリシーで制御し、集中管理できます。

親プロセスのトークンに基づく操作上の動作

アプリケーションが取得できる特権だけでなく、アプリケーションを実行できるかどうかも、AppCompat データベース内のアプリケーション実行レベルとアプリケーションを実行するアカウントの特権の組み合わせによって異なります。次の表では、さまざまな組み合わせに基づいた動作を示します。

組み込みのローカル管理者アカウント

組み込みの管理者アカウントは UAP で保護されないので、すべてのアプリケーションがユーザーに承認を求めることなく、アカウントの完全な特権で起動されます。

  • 親プロセスのトークン : 完全な管理者特権

  • 承認ポリシー : (関係なし)

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは完全な特権で起動されます。問い合わせは行いません。

アプリケーションは完全な特権で起動されます。問い合わせは行いません。

アプリケーションは完全な特権で起動されます。問い合わせは行いません。

Administrators グループのメンバのユーザー アカウント

  • 親プロセスのトークン : 標準ユーザー

  • 承認ポリシー : サイレント

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは標準ユーザーで起動されます。

アプリケーションは完全な管理者特権で起動されます。問い合わせは行いません。

アプリケーションは完全な管理者特権で起動されます。問い合わせは行いません。

  • 親プロセスのトークン : 標準ユーザー

  • 承認ポリシー : 同意

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは標準ユーザーで起動されます。

アプリケーションは完全な管理者特権で起動されます。同意を求めます。

アプリケーションは完全な管理者特権で起動されます。同意を求めます。

  • 親プロセスのトークン : 標準ユーザー

  • 承認ポリシー : 資格情報

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは標準ユーザーで起動されます。

アプリケーションは完全な管理者特権で起動されます。資格情報を要求します。

アプリケーションは完全な管理者特権で起動されます。資格情報を要求します。

  • 親プロセスのトークン : 完全な管理者特権

  • 承認ポリシー : (関係なし)

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは完全な管理者特権で起動されます。問い合わせは行いません。

アプリケーションは完全な管理者特権で起動されます。問い合わせは行いません。

アプリケーションは完全な管理者特権で起動されます。問い合わせは行いません。

制限付きユーザー アカウント

  • 親プロセスのトークン : 制限付きユーザー

  • 承認ポリシー : サイレント

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは制限付きユーザーで起動されます。

アプリケーションは制限付きユーザーで起動されます。

アプリケーションは起動されません。

  • 親プロセスのトークン : 制限付きユーザー

  • 承認ポリシー : 同意

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは制限付きユーザーで起動されます。

アプリケーションは制限付きユーザーで起動されます。

アプリケーションを実行する前に、管理者の資格情報を要求します。

  • 親プロセスのトークン : 制限付きユーザー

  • 承認ポリシー : 資格情報

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは制限付きユーザーで起動されます。

アプリケーションは制限付きユーザーで起動されます。

アプリケーションを実行する前に、管理者の資格情報を要求します。

追加特権を持たない管理者以外のユーザー (Backup Operators)

  • 親プロセスのトークン : 制限付きユーザー

  • 承認ポリシー : サイレント

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは制限付きユーザーで起動されます。

アプリケーションは完全な特権で起動されます。問い合わせは行いません。

アプリケーションは起動されません。

  • 親プロセスのトークン : 制限付きユーザー

  • 承認ポリシー : 同意

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは制限付きユーザーで起動されます。

アプリケーションは完全な特権で起動されます。同意を求めます。

アプリケーションを実行する前に、管理者の資格情報を要求します。

  • 親プロセスのトークン : 制限付きユーザー

  • 承認ポリシー : 資格情報

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは制限付きユーザーで起動されます。

アプリケーションは完全な特権で起動されます。資格情報を要求します。

アプリケーションを実行する前に、管理者の資格情報を要求します。

  • 親プロセスのトークン : 完全な特権

  • 承認ポリシー : サイレント

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは完全な特権で起動されます。問い合わせは行いません。

アプリケーションは完全な特権で起動されます。問い合わせは行いません。

アプリケーションは起動されません。

  • 親プロセスのトークン : 完全な特権

  • 承認ポリシー : 同意

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは完全な特権で起動されます。問い合わせは行いません。

アプリケーションは完全な特権で起動されます。問い合わせは行いません。

アプリケーションを実行する前に、管理者の資格情報を要求します。

  • 親プロセスのトークン : 完全な特権

  • 承認ポリシー : 資格情報

アプリケーション AppCompat データベースの設定

なし、または RunAsLUA

RunAsHighest

RunAsAdmin

アプリケーションは完全な特権で起動されます。問い合わせは行いません。

アプリケーションは完全な特権で起動されます。問い合わせは行いません。

アプリケーションを実行する前に、管理者の資格情報を要求します。

アプリケーション互換性データベース shim を作成する前に

IT 部門で企業内の基幹業務管理アプリケーションを特定した場合、このようなアプリケーションに適切なアプリケーション互換性 shim を作成および展開する方法に関するガイドとして、このドキュメントの残りのセクションを使用できます。

CompatAdmin.exe を実行する

CompatAdmin.exe は、レガシ アプリケーションを新しいバージョンの Windows で実行するために、企業管理者がそのアプリケーション用のプログラム互換性 shim を作成する際に役立つグラフィカル ユーザー インターフェイス (GUI) ツールです。Windows Vista では、このツールキットを拡張して、shim データベース エントリを作成できるようにしました。このようなエントリは、アプリケーションの実行レベルを設定する際に使用されます。IT 部門ではデータベースを作成した後、sdbinst.exe ツールを使用してデータベースをシステムにインストールできます。このツールも、アプリケーション ツールキットに同梱されています。

作成する各データベースには、対象となるアプリケーション用に実行レベルを設定する shim を 1 つ以上含めることができます。管理アプリケーションの実行レベルを設定する方法を決定するには、次の手順を実行します。

  1. Windows Vista を実行している適切なコンピュータにアプリケーション互換性ツールキットをインストールします。

  2. Windows Vista で正常に動作しない管理用レガシ アプリケーションを特定します。IT 部門では、アプリケーション互換性ツールキットの特定のプロセスで役立つ他の機能を使用できます。

  3. 各アプリケーションの実行レベルを確認します。
    アプリケーションにとって適切な設定については、「実行レベルの設定」を参照してください。

  4. CompatAdmin.exe を実行して、AppCompat shim データベースを作成します。

  5. sdbinst.exe を使用してテスト用コンピュータにインストールすることで、shim をテストします。

例 :

  1. compatadmin.exe を起動します (図 1)。

    Cc835560.Compatadmin1thumb(ja-jp,TechNet.10).gif

    図 1 |

  2. [Fix (修正)] アイコンをクリックします。

  3. プログラム名、ベンダ名、およびプログラムの場所を入力します (図 2)。[Next (次へ)] をクリックします。

    Cc835560.Compatadmin2thumb(ja-jp,TechNet.10).gif

    図 2 |

    ウィザードの最初の画面は、以前のバージョンの Windows の全般的な互換性修正プログラムを適用するためにあります。実行レベル アプリケーション互換性 shim は、ウィザードの後半で選択します。

  4. [Operating System Modes (オペレーティング システム モード)] では、[None (なし)] を選択し、[Next (次へ)] をクリックします (図 3)。

    Cc835560.Compatadmin3thumb(ja-jp,TechNet.10).gif

    図 3 |

  5. [Compatibility Fixes (互換性修正プログラム)] をスクロールして、目的の実行レベルを選択します。アプリケーションにとって適切な実行レベルを判断するには、「実行レベルの設定」を参照してください。[Next (次へ)] をクリックします (図 4)。

    Cc835560.Compatadmin4thumb(ja-jp,TechNet.10).gif

    図 4 |

  6. 一致する情報を選択します。一致する情報は、shim が属するファイルを特定する際に使用されます。次の例では、shim をこのプログラムに適用する必要があるかどうかを判断するために、プログラム名だけでなく、サイズと PE チェックサムを使用します。一致する情報を他にも追加で選択できますが、通常、shim が誤って同じ名前の他のアプリケーションに適用されないようにするには、サイズとチェックサムを選択するだけで十分です。[Finish (完了)] をクリックします (図 5)。

    Cc835560.Compatadmin5thumb(ja-jp,TechNet.10).gif

    図 5 |

  7. [File (ファイル)] メニューの [Save (上書き保存)] をクリックします (図 6)。

    Cc835560.Compatadmin8thumb(ja-jp,TechNet.10).gif

    図 6 |

  8. データベースの名前を入力します。sdbinst.exe を使用して shim をインストールすると、この名前が Control Panel (コントロール パネル) の [Add/Remove Programs (プログラムの追加と削除)] に表示されます。プログラムの追加と削除で shim を特定できるように、わかりやすい名前を選択します。[OK (OK)] をクリックします (図 7)。

    Cc835560.Compatadmin6thumb(ja-jp,TechNet.10).gif

    図 7 |

  9. データベース ファイルの名前を選択して、[上書き保存 (Save)] をクリックします (図 8)。

    Cc835560.Compatadmin7thumb(ja-jp,TechNet.10).gif

    図 8 |

  10. 作成したデータベース ファイルの名前をパラメータとして渡して sdbinst.exe を実行します (図 9)。-q 修飾子は、出力用のダイアログ ボックスを表示せずに sdbinst.exe を実行し、無人モードでの展開に使用できるようにします。

    Cc835560.sdbinst2thumb(ja-jp,TechNet.10).gif

    図 9 |

AppCompat データベースの Shim を削除する

管理者は、Control Panel (コントロール パネル) の [Installed programs (インストールされているプログラム)] を使用して、それまでにインストールした AppCompat データベース エントリを削除できます (図 10) 。これは、アプリケーション互換性 shim を作成したアプリケーションがその環境で使用されなくなった場合や shim 自体を変更する必要がある場合に役立ちます。アプリケーション互換性 shim を削除するには、一覧で削除するエントリを右クリックし、[Change/Remove (変更と削除)] を選択します。管理者は、この処理を繰り返して、他の AppCompat データベース エントリを削除できます。

Cc835560.arp1thumb(ja-jp,TechNet.10).gif

図 10 |

企業内でのグループ ポリシーを使用した展開

ここでは、「compatAdmin.exe を実行する」で作成したアプリケーション互換性データベース shim をグループ ポリシーを使用して展開する方法について説明します。主な手順は次のとおりです。

  • カスタム インストーラの Microsoft Visual Basic スクリプト (VBScript) を作成します。サンプル スクリプトは、ここにあります。

  • 作成した .sdb データベースごとに .msi パッケージを作成します。

  • Authenticode で、.msi パッケージに署名します。

  • グループ ポリシーを使用して .msi を展開します。

カスタム インストーラのサンプル VBScript

IT 部門は、.msi を作成する前に、カスタム インストールを実行する VBScript を作成する必要があります。すべての .msi パッケージに同じスクリプト ファイルを使用できる場合は、1 度だけ作成する必要があります。サンプル スクリプトは次のとおりです。

'--------------------------------------------------------------------------------------
'  Filename         : setsdb.vbs
'  Description      : Installs SDB entry in appcompat database
'  Version          : 1.0
'--------------------------------------------------------------------------------------
' History:
'   07-19-2005:  Created version 1.0

dim Ws
myCmdArgs = Session.Property("CustomActionData")
setDir = "%ComSpec% /C sdbinst.exe -q " & chr(34) & myCmdArgs & chr(34)
set Ws = CreateObject("WScript.Shell")
retval = Ws.Run( setDir, 2, true )

.msi パッケージを作成する

次の例では、Microsoft Visual Studio .NET を使用し、.msi インストーラ パッケージを作成して AppCompat データベースの shim を展開する方法を示しています。

  1. Visual Studio を起動します。

  2. [ファイル] メニューの [新規作成] をポイントして、[プロジェクト] をクリックします。

  3. 左側の [プロジェクトの種類] ボックスで、[セットアップ/デプロイメント プロジェクト] をクリックします。右側のボックスで [セットアップ プロジェクト] を選択し、展開する shim の名前を入力して、[OK] をクリックします (図 11)。

    Cc835560.vsmsi1thumb(ja-jp,TechNet.10).gif

    図 11 |

  4. 右側のソリューション エクスプローラで、デプロイメント プロジェクトの名前 (この例では、DeployIsUserAdminShim) を右クリックし、[追加] をポイントして、[ファイル] をクリックします。

  5. 作成した .sdb データベース ファイルを指定して、[開く] をクリックします (図 12)。

    Cc835560.vsmsi2athumb(ja-jp,TechNet.10).gif

    図 12 |

  6. 手順 4. と 5. を繰り返して、あらかじめ作成したカスタム動作 VBScript の名前 (この例では、setsdb.vbs) を追加します。

  7. ソリューション エクスプローラで、デプロイメント プロジェクトの名前を右クリックし、[表示] をポイントして、[カスタム動作] をクリックします。左側のウィンドウに [カスタム動作] タブが表示されます (図 13)。

    Cc835560.vsmsi3thumb(ja-jp,TechNet.10).gif

    図 13 |

  8. [カスタム動作] タブで、[確定] フォルダを右クリックし、[カスタム動作の追加] をクリックします。

  9. [アプリケーション フォルダ] をダブルクリックし、vbscript ファイルを選択して、[OK] をクリックします (図 14)。

    Cc835560.vsmsi4athumb(ja-jp,TechNet.10).gif

    図 14 |

  10. 左側のウィンドウで setsdb.vbs という確定動作を右クリックし、[プロパティ ウィンドウ] をクリックします。

    次の行を CustomActionData プロパティに追加します。

    [ProgramFilesFolder][Manufacturer]\[ProductName]\IsUserAdmin.sdb.
    

    注 :

    • [ProgramFilesFolder] と [Manufacturer] の間に円記号 (\) はありません。

    • ファイルを作成したときに選択した .sdb ファイル名を使用します (図 15)。

    Cc835560.vsmsi2athumb(ja-jp,TechNet.10).gif

    図 15 |

  11. [ファイル] メニューの [ビルド] をクリックして、[ソリューションのビルド] をクリックします。ビルドが完了すると、.msi パッケージはデバッグ フォルダに格納されます。

  12. Visual Studio を終了します。

Authenticode で MSI に署名する

.msi パッケージを作成したら、グループ ポリシーを使用して展開する前に、Authenticode でパッケージに署名することをお勧めします。ここでは、展開する .msi パッケージへの署名に使用する、企業用の署名キーを既に作成していることを前提としています。次の例で使用する署名ツールと検証ツールは、Microsoft Visual Studio SDK に同梱されています。

signcode -v <path>yourkey.pvk -spc <path>yourkey.spc (deployment package).msi

署名にタイムスタンプを含めるには、コマンド ラインで次のパラメータを使用します。

-t http://timestamp.verisign.com/scripts/timstamp.dll

次のコマンドを使用して署名を検証できます。

ckhtrust (deployment package).msi

使用する環境で信頼されている発行元証明書への証明書チェーンの署名をファイルで検証する場合、chktrust.exe は単に正常終了を示すリターン コードを返します。

Microsoft Authenticode テクノロジの詳細については、この Web サイト (英語) を参照してください。

パッケージをテストする

パッケージを作成した後、対象のコンピュータに .msi ファイルをコピーしてダブルクリックし、Microsoft Windows セットアップ ウィザードを開くことで、パッケージをテストできます (図 16)。

Cc835560.install1thumb(ja-jp,TechNet.10).gif

図 16 |

  1. [Next (次へ)] をクリックします。
    [Select Installation Folder (インストール フォルダの選択)] ウィンドウが表示されます (図 17)。

    Cc835560.install2thumb(ja-jp,TechNet.10).gif

    図 17 |

  2. [Next (次へ)] をクリックします。[Confirm Installation (インストールの確認)] ウィンドウが表示されます (図 18)。

    Cc835560.install3thumb(ja-jp,TechNet.10).gif

    図 18 |

  3. [Next (次へ)] をクリックします。
    インストールが完了すると、インストールが成功したことを確認するメッセージが表示されます (図 19)。

    Cc835560.install4thumb(ja-jp,TechNet.10).gif

    図 19 |

  4. [Close (閉じる)] をクリックします。
    その後、Control Panel (コントロール パネル) の [Installed Programs (インストールされているプログラム)] を使用して、.sdb ファイルがインストールされたことを確認できます。shim のインストーラと shim のエントリが表示されます (図 20)。

    Cc835560.arp3thumb(ja-jp,TechNet.10).gif

    図 20 |

グループ ポリシーを使用して MSI を展開する

グループ ポリシーを使用することで、作成した AppCompat データベースの shim が自動的にすべてのクライアント コンピュータに展開されるようにできます。ここでは、IT 部門がこの展開を設定する際に使用する基本的な手順について説明します。グループ ポリシーの展開のステージングの詳細については、この Web サイト (英語) を参照してください。

最初に、shim を取得する必要のあるすべてのコンピュータがアクセスできるファイル共有に .msi 展開パッケージを配置します。これはドメイン全体に指定するか、組織単位 (OU) に限定できます。.msi パッケージにファイル共有での適切なアクセス制御リスト (ACL) エントリを設定し、対象のコンピュータへのアクセスのみを許可することをお勧めします。

この例では、DeployIsUserAdmin.msi ファイルは、\\jettdualproc\Applications という、ドメイン サーバーのファイル共有に格納されます。ファイルの ACL は、図 21 のようになります。

Cc835560.gp1thumb(ja-jp,TechNet.10).gif

図 21 |

Microsoft Active Directory にグループ ポリシーを追加する

  1. .msi ファイルを配置したら、ドメイン管理者としてドメイン コントローラにログオンし、[Start (スタート)] ボタンをクリックして、[Programs (プログラム)]、[Administrative Tools (管理ツール)] の順にポイントし、[Active Directory Users and Computers (Active Directory ユーザーとコンピュータ)] をクリックします。

  2. 左側のウィンドウでドメイン名を右クリックし、[Properties (プロパティ)] をクリックします。プロパティ ウィンドウが表示されたら、[Group Policy (グループ ポリシー)] タブをクリックします (図 22)。

    Cc835560.gp2thumb(ja-jp,TechNet.10).gif

    図 22 |

  3. [New (新規)] をクリックし、新しいグループ ポリシー オブジェクト (GPO) の名前を入力します。この例では、GPO は "IsUserAdmin Shim" となります (図 23)。

    Cc835560.gp3thumb(ja-jp,TechNet.10).gif

    図 23 |

  4. 新しく作成した GPO を強調表示して、[Properties (プロパティ)] をクリックします。

  5. shim がユーザーではなくドメイン内のコンピュータに適用されているため、[Disable User Configuration settings (ユーザーの構成の設定を無効にする)] チェック ボックスをオンにします (図 24)。確認のダイアログ ボックスが表示されたら、[Yes (はい)] をクリックします。

    Cc835560.DeployIsUserAdminShimthumb(ja-jp,TechNet.10).gif

    図 24 |

  6. [Security (セキュリティ)] タブをクリックし、ドメイン コンピュータへのアクセスを許可するのに必要な ACL を追加します。[Read and Apply Group Policy (グループ ポリシーの読み取りと適用)] が選択されていることを確認します。完了したら、[OK (OK)] をクリックします。

  7. まだ開いているプロパティ ウィンドウで、[Edit (編集)] をクリックします。
    Group Policy Object Editor (グループ ポリシー オブジェクト エディタ) が表示されます。

  8. 左側のウィンドウの [Computer Configuration (コンピュータの構成)] で、[Software Settings (ソフトウェアの設定)] を展開します。

  9. [Software Installation (ソフトウェア インストール)] を右クリックし、[New (新規作成)] をクリックして、[Package (パッケージ)] をクリックします。

  10. [Open (ファイルを開く)] ダイアログ ボックスで、展開するパッケージを選択し、[Open (開く)] をクリックします (図 25)。

    Cc835560.gp7thumb(ja-jp,TechNet.10).gif

    図 25 |

  11. [Deploy Software (ソフトウェアの展開)] ダイアログ ボックスが表示されます。[Assigned (割り当て)] を選択し、[OK (OK)] をクリックします。
    これにより、ユーザーが操作することなく、パッケージは対象のコンピュータにインストールされます (図 26)。

    Cc835560.gp8thumb(ja-jp,TechNet.10).gif

    図 26 |

    選択した .msi パッケージは、Group Policy Object Editor (グループ ポリシー オブジェクト エディタ) に表示されます (図 27)。

    Cc835560.gp9thumb(ja-jp,TechNet.10).gif

    図 27 |

  12. Group Policy Object Editor (グループ ポリシー オブジェクト エディタ) を終了します。

  13. プロパティ ウィンドウを閉じます。

  14. [Active Directory Users and Computers (Active Directory ユーザーとコンピュータ)] を終了します。

展開をテストする

展開をテストするために、ドメインのメンバであるコンピュータのうち 1 台を再起動する必要があります。再起動後、ユーザーのログイン画面が表示される前に、グループ ポリシーにより、自動的にパッケージがコンピュータにインストールされます。

これを確認するには、コンピュータにログオンし、Control Panel (コントロール パネル) の [Installed Programs (インストールされているプログラム)] を開きます。インストールが正常に完了したら、ユーザーは、実際のアプリケーション互換性データベース エントリと同様に .msi がインストールされていることを確認する必要があります (図 28)。

Cc835560.arp3thumb(ja-jp,TechNet.10).gif

図 28 |