更新 : 2007 年 11 月
既定では、サービスは、ログイン ユーザーのセキュリティ コンテキストとは異なるセキュリティ コンテキストで実行されます。サービスは、LocalSystem という既定のシステム アカウントのコンテキストで実行されます。このアカウントがサービスに認可するシステム リソースへのアクセス特権は、ユーザーに認可するものとは異なります。この動作を変更して、サービスを実行する他のユーザー アカウントを指定できます。
セキュリティ コンテキストを設定するには、サービスが実行されるプロセスの Account プロパティを操作します。このプロパティを使用することにより、サービスを次の 4 種類のアカウントのうちのいずれかに設定できます。
User。サービスをインストールするときにシステムによって有効なユーザー名とパスワードが要求され、ネットワーク上の 1 人のユーザーによって指定されたアカウントのコンテキストで実行されます。
LocalService。ローカル コンピュータで非特権ユーザーとして機能するアカウントのコンテキストで実行され、リモート サーバーには匿名の資格情報を渡します。
LocalSystem。各種のローカル権限を持つアカウントのコンテキストで実行され、リモート サーバーにはコンピュータ自体の資格情報を渡します。
NetworkService。ローカル コンピュータ上で非特権ユーザーとして機能するアカウントのコンテキストで実行され、リモート サーバーにはコンピュータ自体の資格情報を渡します。
詳細については、ServiceAccount 列挙体の解説を参照してください。
サービスのセキュリティ コンテキストを指定するには
サービスの作成後、必要なインストーラを追加します。詳細については、「方法 : サービス アプリケーションにインストーラを追加する」を参照してください。
デザイナで、ProjectInstaller クラスにアクセスし、対象となるサービスのサービス プロセス インストーラをクリックします。
メモ :
いずれのサービス アプリケーションの場合でも、少なくとも 2 つのインストール コンポーネントが ProjectInstaller クラスにあります。1 つはプロジェクトのすべてのサービスのプロセスをインストールするコンポーネントで、もう 1 つはアプリケーションに含まれているサービス単位でインストールするコンポーネントです。この場合は、ServiceProcessInstaller を選択します。
[プロパティ] ウィンドウで、Account を適切な値に設定します。
参照
処理手順
方法 : サービス アプリケーションにインストーラを追加する