セッション 0 分離機能に関して説明します。
・Windows 7ではプロセスごとにセッション ID が割り当てられますが、サービスやシステムとして起動するプロセスは セッション ID =0 として起動します。一方各ユーザが起動するプロセスは セッション ID =1以上として起動します。
・Windows XPではサービスやシステムとユーザが起動するプロセスが同一のセッションで起動されていました。(シングルユーザの場合)
・セッション 0 以外のプロセスはセッション 0 にアクセスすることが出来ません。またユーザプログラムはセッション0で起動することはできないため、悪意のあるユーザが悪意のプロセスを起動しサービスやシステムプロセスを攻撃することは出来なくなりました。またセッション 0 はユーザインターフェース(Windows のポップアップ画面など)を表示させることは出来なくなりました。よってサービスプログラムがユーザにポップアップ画面を表示することは出来なくなりました。Windows XP で正常に動作していたアプリケーションが Windows XP 以後で正常稼動しなくなる可能性があります。この制限はポリシーの変更などの設定では変更できません。根本的にサービスに仕組みを変更する必要があります。
各セッションIDは「タスクマネージャ」で確認することが可能です。デフォルトでは表示されませんので、「表示」「列の選択」から「セッションID」をチェックしてください。
以下の例ではそれぞれ以下のセッションIDとなります。
サービスやシステムプロセスはセッション ID=0
ユーザ"test"のセッション=2
ユーザ"test1"のセッション=3
ユーザ"test2"のセッション=1
ユーザ"test3"のセッション=4
ユーザ"test4"のセッション=5