マイクロソフトのアプリケーション互換性ツールキットでUACプロンプトを取り除く

Windows 7のUACプロンプトの数は、MicrosoftによってWindows Vistaと比較して大幅に削減されました。セキュリティを強化するために、アプリケーションはWindows VistaとWindows 7の標準ユーザー特権(およびその後に登場したWindowsの新しいバージョン)に制限されています。

UACプロンプトは、アプリケーションの実行に管理者特権が必要であることをユーザーに通知します。

これは、新しいアプリケーションがシステムにインストールされている場合に特に役立ちますが、プログラムを定期的に使用する必要があり、信頼できる開発者が開発する場合は、さらに面倒です。

たとえば、regeditまたはRevo Uninstallerを実行するたびにUACプロンプトが必要なのはなぜですか?

また、ほとんどのユーザーは、表示されるプロンプトが実際に何を意味するのか、または要求するのかをしばらく考えずにプログラムを実行するためだけに[はい]をクリックする可能性があります。

uac prompt

WindowsでUACプロンプトをさらに制限する方法はいくつかあります。たとえば、プログラムのプロパティを常に管理者特権で実行するように変更するのが最も簡単な方法の1つです。

あまり知られていない別のオプションは、Microsoft Application Compatibility Toolkitを使用してアプリケーションをホワイトリストに登録し、実行時にUACプロンプトが表示されないようにすることです。

Windowsユーザーは ダウンロード MicrosoftのWebサイトからソフトウェアプログラムをダウンロードし、後でインストールします。

実行可能な32ビットと64ビットの両方の互換性アドミニストレーターが付属しています。 32ビットプログラムは32ビット互換性アドミニストレーターに追加する必要があり、64ビットアプリは64ビット互換性アドミニストレーターに追加する必要があります。

application compatibility listing

新規データベース(1)を右クリックし、次に[新規作成]を右クリックして、コンテキストメニューから[アプリケーションの修正]を開きます。新しいウィンドウが開き、プログラム名、開発者名、実行可能ファイルを選択できます。

user account control

次のページに互換モードを示します。リストからRunAsInvokerを見つけて選択し、後で[テスト実行]ボタンをクリックして、プログラムが新しい互換モードでどのように起動するかを確認します。

UACプロンプトなしで起動した場合は、[次へ]をクリックしてください。エラーメッセージが表示された場合は、まったく機能しません。ただし、ほとんどのプログラムは問題なく動作します。

run as invoker

テストが成功した後、[次へ]を2回クリックして、アプリケーションをリストに追加します。データベースエントリの下にその名前が表示されます。 UACプロンプトを必要とする他のアプリケーションについて、上記の手順を繰り返します。

メニューの[ファイル]> [名前を付けて保存]をクリックして、プログラムのデータベースを保存します。 uac-whitelist。

uac whitelist

Compatibility Administratorは、データベースをローカルコンピュータシステムのsdbファイルとして保存します。データベースは一度インストールする必要があります。これは、管理者特権のコマンドプロンプトから行う必要があります。

Windowsのスタートボタンをクリックし、[すべてのプログラム]> [アクセサリ]をクリックします。コマンドプロンプトエントリを右クリックし、コンテキストメニューから[管理者として実行]を選択します。

次にコマンドを発行します

sdbinst pathToUAC-Whitelist.sdb

例えば

sdbinst c: users martin downloads uac-whitelist.sdb

その後、すぐに新しい設定をテストして、変更が成功したかどうかを確認できます。ほとんどのプログラムはUACプロンプトなしで今すぐ開始する必要がありますが、開始を拒否するプログラムもあります。稼働していないアプリケーションをデータベースから削除し、その後sdbinstコマンドを再度実行することで、変更を元に戻すことができます。

WindowsでUACプロンプトを自動化する別の方法がありますか?コメント欄でお知らせください。